java,php,asp.net,linux,javascript,mysql,mssql,oracle,编程

jsp基础速成

转载请注明:http://www.pmjava.com/Article/ShowInfo.asp?ID=56542 
Servlet三个要素: 
1.必须继承自HttpServlet 
2.必须实现doGet()或者doPost() 
3.必须在web.xml中配置Servlet 









HttpServeltRrequest:请求对象 
getParameter():获得表单元素的值 
getAttribute():获得request范围中的属性值 
setAttribute():设置reqeust范围中的属性值 
setCharacterEncoding():设置字符编码 

HttpSerletResponse:相应对象 
sendRedirect():外部跳转 
getWriter():获得输出流对象 
setContentType(
"text/html; charset=utf-8"):设置相应内容格式和编码 

四种会话跟踪方式: 
1.Session 
HttpSession session 
= request.getSession(); 
session.setAttribute(
"name""zhangsan"); 
session.setAttribute(
"pwd""aaa"); 
String name 
= (String) session.getAttribute("name"); 

2.cookie: 
//创建Cookie 
Cookie cookie = new Cookie("name""zhangsan"); 
//设置Cookie的超时时间 
cookie.setMaxAge(24 * 60 * 60 *60); 
//把Cookie发送到客户端 
response.addCookie(cookie); 

//得到客户端发送的Cookie 
Cookie [] cookies = request.getCookies(); 
for(int i=0; i   Cookie temp = cookies[i]; 
  String key 
= temp.getName(); 
  String value 
= temp.getValue(); 


3.隐藏表单域 
 
request.getParameter(
"name"); 

4.Url重写 
问号传参 
LoginServlet
?username=zhangsan&pwd=123 
String name 
= request.getParameter("username"); 
String pwd 
=request.getPareameter("pwd"); 

内部跳转: 
LoginServlet 
request.getRequestDispatcher(
"index.jsp").forward(request, resposne); 
外部跳转: 
response.sendRedirect(
"index.jsp"); 
内部跳转是一次请求和一次响应 
外部跳转是两次请求和两次响应 

ServletContext:Servlet上下文对象 
它是一个公共区域,可以被所有的客户端共享 
setAttribute():向公共区域里放入数据 
getAttribute():从公共区域里取数据 

二: 
三:三个标准范围:request, session, ServletContext 
  共同点:都有setAttribute(), getAttribute() 
  区别:范围不同,request 
< session < servletContext 
四:四种会话跟踪方式 
五:服务器上的五大对象 
  request, response, servlet, session, servletContext 
  
Jsp:java Server Page 
页面构成:7种元素 
1.静态内容:html 
2.指令:page, include, taglib: 

3.表达式: 
4.Scriptlet 
5.声明: :变量和方法 
6.动作: 
7.注释: 
客户端看不到的: 
客户端可以看到的: 


Jsp的执行过程: 
1.转译:Jsp--->Servlet 
2.编译:Servlet---->.class 
3.执行:.class 
第一次访问jsp的时候响应速度较慢,后面请求时响应速度快 

脚本: 
表达式: 
Scriptlet: 
声明: 

指令: 
page:language, 
import, errorPage, isErrorpage 
include:file 
taglib:uri:指定标签库描述符的路径 prefix:指定标签的前缀 

隐式对象: 
分类: 
1.输入和输出对象:request(HttpServletRequest), 
                response(HttpServletResponse), 
                out(JspWriter), servlet中的out是PrintWriter 
2.作用域通信对象:pageContext, request, 
                session(HttpSession), 
                application(ServletContext) 
3.Servlet对象:page(this), config 
4.错误对象:exception 
    
javaBean: 
一个标准的javaBean有三个条件 
1.共有的类 
2.具有不带参数的公共的构造方法 
3.具有set()和get()方法 
4.私有属性 

Jsp中的标准动作: 
1.useBean:创建javaBean的一个实例 

2.setProperty:给javaBean的属性赋值 


value和param不能同时使用 
偷懒的方法: 
这个时候需要注意的是,表单元素的名字必须和javaBean的属性值 
一模一样 
3.getProperty:获得JvaBean的属性值 

4.forward:内部跳转,相当于request.getRequestDispatcher().forward(request, response); 

5.include:包含 


表达式语言: 
EL: Expression Language 
语法格式: $
{表达式 } 
表示式 
= 运算符 + 操作数 
运算符:跟java比较,多了一个empty, 少了一个赋值运算符 
$
{empty ""} : true 
$
{empty null} :true 
操作数: 
-->常量:布尔型(true/false), 整型, 浮点型, 字符串(可以用'', 还可以用""), Null 
-->变量: 
    
1.指的是放在四个标准范围里的属性(page, request, session, application) 
    
2.在编准范围内的搜索顺序:page-->request--->session--->application 
    
3.怎么取得变量值:点运算符., 还以用[] 
    
    $
{requestScope.name} 
    或者 
    $
{requestScope["name"]} 
-->隐式对象 
    
1.pageContext:通过它可以访问request, session, servletContext 
    
2.跟范围由关的:pageScope, requestScope, sessionScope, applicationScope 
    
3.跟输入有关的:param, paramValues 
    
4.其他的:header, cookie, headervalues, 

EL表达式适用的场合: 
1.可以在静态文本中使用 
2.与自定义标签结合使用 
3.和javaBean结合使用 


$
{stu.stuName} 

自定义标签: 
1.标签处理程序实现 
--->实现:继承自BodyTagSupport或者TagSupport 
          一般会重写doStartTag(), doEndTag(), doAfterBody() 
--->描述:在标签库描述符文件中描述(.tld) 
    
      
1.0 
      
2.0 
      simpletag 
    
      
        showbody 
        com.westaccp.test.ShowBodyTag 
        empty
/jsp 
        
        color 
        
      
    
--->使用: 
          
2.标签文件 
--->实现和描述 
    在.tag文件中实现 
    设置主体内容: 
    设置属性: 
    有主体内容: 
    
--->使用 
    WEB
-INF/tags/sayhello.tag 
    
    
    
标准标签库: 
1.核心标签库 
-->通用: 
    set: 
    out: 
    remove: 
-->条件: 
    
if.. 
    choose: 
             
             
             
                .. 
                           
            
-->迭代: 
    forEach: 
    foTokens: 
    java,C#;SQL
|
2.I18N与格式化标签库 
-->setLocale:设置本地区域 
-->bundle:设置资源包 
-->setBundle:设置资源包 
-->message:输出消息 
3.SQL标签库 
-->setDataSource:设置数据源,用于获得与数据库的连接 
-->query:执行查询 
-->update:执行增,删,改 
-->transaction:事务 
-->param:参数 
4.XML标签库 

过滤器: 
生命周期: 
1.实例华: 
2.初始化:init() 
3.过滤:doFilter() 
4.销毁:destroy() 
5.不可用 

配置: 









几个重要的接口: 
1.Filter:init(), doFilter(), destroy() 
2.FilterChain: doFilter(request, response) 
3.FilterConfig:getFilterName(), getInitParameter(), 

过滤器链:
--->1--->2--->3--->Servlet 请求 
        
<----1 <---2 <---3 <---        响应 
        
MvC设计模式 
1.ModelI:jsp+javaBean 
2.ModelII:jsp+Servlet+javaBean 
          jsp
---view 
          servlet
---control 
          javabean
---model 

MVC: 
M
--Model:模型:访问后台数据库 
V
--view:视图:展示 
C
--control:控制器:控制程序流程 

ModelII和MVC的关系: 
MVC是一种设计模式,ModelII它是MVC的一种具体的实现 
 

posted on 2009-06-10 21:03 rrong_m 阅读(180) 评论(0)  编辑  收藏

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

随笔档案

文章分类

文章档案

java编程

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜