日期:2014-05-16  浏览次数:20319 次

JSP 速成精华讲解
Servlet三个要素:
1.必须继承自HttpServlet
2.必须实现doGet()或者doPost()
3.必须在web.xml中配置Servlet
<servlet>
<servlet-name> </servlet-name>
<servlet-class> </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> </servlet-name>
<url-pattern> </url-pattern>
</servelt-mapping>

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 <cookies.length; i++) {
  Cookie temp = cookies[i];
  String key = temp.getName();
  String value = temp.getValue();
}

3.隐藏表单域
<input type="hidden" name="name" value="zhangsan" />
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:
<%@ 指令名 属性1="属性值1" 属性2="属性值2" %>
3.表达式: <%=表达式 %>
4.Scriptlet <% Java代码 %>
5.声明: <%! %>:变量和方法
6.动作: <jsp:动作名 属性="属性值"> </jsp:动作名>
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的一个实例
&l