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秒。