现在的位置: 首页 > 综合 > 正文

jsp 笔记

2013年08月30日 ⁄ 综合 ⁄ 共 1618字 ⁄ 字号 评论关闭

pageContext    javax.servlet.jsp.PageContext
request            javax.servlet.http.HttpServletRequest
response         javax.servlet.http.HttpServletResponse
session            javax.servlet.http.HttpSession
application      javax.servlet.ServletContex
config             javax.servlet.ServletConfig

 

 

四种属性范围:
pageContext·   当前页面:跳转到别的页面就无法取得
request·          一次服务器请求范围:经过服务器跳转仍然有效
session·          一个会话:一个用户设置的内容,只要与这个用户相关的页面就可以访问
application·    上下文种:整个服务器上设置的属性,所有人都可以访问

 

 

request:   服务器端接受客户端的请求

response:服务器端对客户端的回应。
response作用:设置头信息,跳转,cookie
response主要方法:
 setHeader(String name, String value) ;
 sendRedirect(String location);
 addCookie(Cookie cookie);
 setContentType(String type)

 

头信息:
 最有用的就是定时刷新:
 response.setHeader("refresh","1");//每隔一秒刷新一次

 定时跳转:
 response.setHeader("refresh","3;URL=demo.jsp");//3秒之后跳转到demo.jsp页面
 
专门的跳转:sendRedirect();客户端跳转
 response.sendRedirect("demo.jsp");
 response.sendRedirect("demo.jsp?var=wangxin&var2=zhouli");
 所有页面执行完毕之后再跳转。不能传递request属性,但是可以传递参数

 

服务器端跳转
<jsp:forward page="demo.jsp"> 地址栏不变
无条件的跳转,但是可以传递request属性

 

注意:如果一个页面使用了JDBC,则在forward跳转之前,必须关闭!

Cookie:服务器端保留在客户端的一组数据。
在javax.servelet.http包之下
常用方法:
public Cookie(String name,String value)  //实例化
public String getName()//取得名字
public void setValue(String newValue) //修改内容
public void setMaxAge(int expiry)//最大保存时间

 

 增加cookie:
 Cookie c1 = new Cookie("username","wangxin");
 Cookie c2 = new Cookie("userpass","000000");
 response.addCookie(c1);
 response.addCookie(c2);
 

如果要想取得cookie,必须依靠request方法。
 <%
  Cookie c[] = request.getCookies();
  for(int i=0;i<c.length;i++){
 %>
   <h3><%=c[i].getName()+"------>"%><%=c[i].getValue()%></h3>
一个Cookie默认的是保存在打开的浏览器当中的。想保存在本地的话,需要设置时间。
c2.setMaxAge(60); //设置保存时间为60秒。

 

抱歉!评论已关闭.