JSP内置对象学习(3)-response对象
response对象对于响应客户请求并向客户端输出信息,它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是多种数据类型,甚至是文件。response对象在JSP页面内有效。
操作HTTP头信息
通过response对象可以设置HTTP响应报头,其中常用的是设置响应的内容类型、禁用缓存、设置页面自动刷新u和定时跳转网页。
(1)禁用缓存
在默认情况下,浏览器会缓存显示的内容。这样当用户再次访问相同的网页时,浏览器会判断网页是否有变化。如果没有变化,刚直接显示缓冲中的内容,这样可以提高网页速度。对于一些安全性要求较高的网站,则需要禁用缓存。设置HTTP头的方法实现禁用缓存,可以通以下代码实现.
<%
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expiree",0);
%>
(2)设置页面自动刷新
通过设置HTTP头可以实现页面的自动刷新,例如,让网页每隔10秒自动刷新一次,可以使用以下代码
<%
response.setHeader("refresh","10");
%>
(3)定时跳转网页
通过设置HTTP头可以实现定时跳转网页的功能,例如,让网页5秒种后自动跳转到指定的页面,可以使用以下代码
<%
response.setHeader("refresh","5;URL=login.jsp");
%>
(4)设置MIME类型
在默认情况下,一个JSP页面采用的内容类型是text/html,即HTML或文本数据,此值并不是固定的,可以根据开发动态更改响应类型,更改方式是通过response对象提供的setContentType()方法设置的,在设置之后即可让网页内容以不同的格式输出到浏览器中。
setContentType()方法的语法格式如下:
response.setContentType(String type);
其中,type用于指定响应的内容类型,可选值为text/heml,text/plain,application/x_msexcel 和application/msword等。
说明:不同的Web容器定义MIME类型可能存在差异,其中Tomcat容器对MIME类型的声明定义在Tomcat根目录下的conf\web.xml文件中,通过<mime-mapping>标记声明.
(5)实现页面重定向
使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面,重定向操作支持将地址重定向到不同的主机,这一点与转发不同,在客户端浏览器上将得到跳转的地址,并重新发送请求链接,用户可以在浏览器的地址栏中看到跳转后的地址。执行重定向操作后request中的属性全部失效,并且开始一个新的request对象。
sendRedirect()方法的语法格式如下
response.sendRedirect(String path);
其中,path指定目标路径,可以是相对,也可以是不同主机的其他URL。
例如,使用sendRedirect()方法重定向网页到login.jsp页面和明日编程词典网(与该网页不在同一主机上).其代码如下:
response.sendRedirect("login.jsp");
response.sendRedirect("www.mrbccd.com");
注意:JSP页面中使用该方法时不要有其他JSP脚本(包括return语句),因为重定向之后的代码已经没有意义,并且还可能产生错误.
实例:通过sendRedirect()方法重定向页面到用户登录页面。
(1)创建index.jsp文件,在其中调用response对象的sendRedirect()方法重定向页面到用户登录页面login.jsp,代码如下:
此时网址已变
想要免费学习python全栈吗?图灵学院推出免费学习python全栈课程,想学习了解的请加群号:158184562