response对象
response对象主要功能是服务器端向客户端发送信息,例如HTTP的头信息和COOKIE信息等
response对象的主要使用1.设置HTTP头信息,2重定向,3 设置COOKie
request对象:服务器端用于接收语法内容的所属接口:javax.servlet.httpHttpServletRequest
HttpServletRequest是ServletRequest接口的子接口
而且ServeletRequest也只有一个子接口—HttpServletRequest
主要是因为:现在原J2EE的WEB程序主要是以HTTP协议为主要协议
reponse对象:服务器回应客户端的请求
所属的接口:javax.servlet.http.HttpServletResponse
而且ServletResponse也是现在只有唯一的一个HttpServletReponse子接口
主要原因::现在的J2EE 的WEB程序主要以HTTP协议为主要通讯协议
1. 设置头信息
最有用的一个头信息:refresh:刷新
response.setHeader(“头信息内容”,”头信息参数”);
<%! //带有叹号,此处为全局变量,初始化 int i=0; %> <% //一秒钟刷新一次,每次使i自增 response.setHeader("refresh","1"); %> <h1><%=i++%></h1> |
新的需求:
两秒钟跳转到responseDeom02.jsp页面上
response.setHeader(“refresh”,”2;URL=页面名称”);
过2秒后跳转页面
<%@page contentType="text/html;charset=gb2312"%> <%! //此处为全局变量,初始化 int i=0; %> <% //一秒钟刷新一次,每次使i自增 response.setHeader("refresh","2;URL=responseDemo02.jsp"); %> <h1><%=i++%></h1> 两秒后跳转到欢迎页!!!<br> 如果没有跳转,请按<a href="responseDemo02.jsp">这里</a> |
setHeader 可以实现跳转功能
2,response进行跳转悲为喜---重定向
response.sendRedirect(跳转路径)
两种跳转的区别:
1,<jps:forward page=”跳转页面”/>
地址栏不会改变就跳转到其它页面—服务器端跳转
执行到跳转语句后无条件立刻跳转—之后的代码不再被执行
注意;如果使用forward跳转,则一定要在跳转之前释放掉全部的资源
使用forward时,request设置的属性依然能保留在下一个页面(setAttribute)
通过<jsp:param name=”” value=””/>传递参数
2,response.sendRedirect(“跳转的页”);
地址栏改变跳转 –客户端跳转
所有代码都执行完毕之后再跳转
不能保存request属性 –地址改变了,客户端跳转
通过对URL地址的重写传递参数
使用客户端跳转,可以通过重写url的方式将内容传递过去
内容:response.sendRedirect("responseDemo04.jsp?id=meng");
接收:<h1>hello <%=request.getParameter("id")%></h1>
responseDemo03.jsp <%@page contentType="text/html; charset=gb2312"%> <h1>欢迎光临:responseDemo03.jsp</h1> <% System.out.println("**跳转之前..."); %> <!--jsp:forward page="responseDemo04.jsp"-->
<%//进行跳转 response.sendRedirect("responseDemo04.jsp?id=meng"); %> <% System.out.println("**跳转之后..."); %> |
responseDemo03.jsp <%@page contentType="text/html; charset=gb2312"%> <h1>欢迎光临:responseDemo04.jsp</h1> <h1>hello <%=request.getParameter("id")%></h1> |
3,设置Cookie
Cookie是服务器端保存在客户端的一组资源
登陆时会问你是否记住密码?或XX时间不用再登陆
此种功能是通过Cookie实现的
void |
addCookie(Cookie cookie) |
Cookie是通过服务器端设置到客户端上去的—response
如果要在服务器取得Cookie—request
Cookie[] |
getCookies() |
在使用request对象取得全部Cookie时,会出现以下的信息:
JSESSIONID-->E6DDAAA207FE2C5CBA448A0802403E6F
JessionID:表示唯一的一个客户端在服务器上的编号à身份证编号—自动获得
默认情况下,Cookie只针对当前浏览器有效,如果需要Cookie长留在本地上,可以设置Cookie的保存时间
void |
setMaxAge(int expiry) |
设置最大的保存时间
Cookie是保存在客户端上的信息,安全性较差,不要把过多的隐秘信息保留在Cookie中,这样很不安全
Cookie可以设置最大保留时间表—setMaxAge
服务器端在客户端第一次访问之后,会设置一个默认的Cookie在客户端上:JSESSIONID