JSP具体条款——response对象
response对象
response为响应对象client要求。输出信息到客户。他封装JSP反应生成。发送client在回应client要求。
1.重定向网页
使用response对象的sendRedirect()方法能够将网页重定向到还有一个页面。重定向支持将地址重定向到不同的主机上,这一点与转发不同。
在client浏览器上将会得到跳转后的地址,并又一次发送请求链接;用户能够从浏览器的地址栏中看到跳转后的地址。重定向操作后,request中的属性将会所有失效,并開始一个新的request对象
sendRedirect()方法的语法格式例如以下:
response.sendRedirect(String path);
參数说明:
path:指定的目标地址,能够是相对路径,也能够是不同主机的其它URL地址
范例:
定义index.jsp重定向到Login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%response.sendRedirect("Login.jsp"); %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
</body>
</html>
定义Login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form name="form1" method="post" action="">
username:<input name="name" type="text" id="name" style="width:120px"><br/><br/>
密码:<input name="pass" type="password" id="pass" style="width:120px"><br/>
<br/>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
2.处理HTTP头文件
response对象能够设置HTTP响应包头,当中最经常使用的是禁用缓存,设置页面自己主动刷新和定时跳转页面。
禁用缓存
默认情况下,浏览器将会显示的网页的内容进行缓存,能够通过response对象来实现对缓存的禁用。
范例:
改动Login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
response.setHeader("Catch-control", "no-store");
response.setDateHeader("Expires", 0);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form name="form1" method="post" action="">
username:<input name="name" type="text" id="name" style="width:120px"><br/><br/>
密码:<input name="pass" type="password" id="pass" style="width:120px"><br/>
<br/>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
设置页面定时跳转
范例:
改动index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
response.setHeader("refresh", "5;URL=hello.jsp");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
</body>
</html>
设置页面定时刷新
<%
response.setHeader("refresh", "5");
%>
设置输出缓冲
通常情况下,server要输出到client的内容不会直接写到client。而是先写到一个输出缓冲区。
当满足以下三种情况之中的一个就会把缓冲区的内容写到client
A.JSP页面的输出已经所有写到了缓冲区
B.缓冲区已经满了
C.在JSP页面中调用了response对象的flushBuffer()方法或者是out对象的flush()方法
response对象对缓冲区的配置有例如以下几种方法:
flushBuffer():强制将缓冲区中的内容输出到client
getBufferSize():获取对应所使用的缓冲区的实际大小。假设没有缓冲区则返回0
reset():清除缓冲区的内容 。同一时候清除状态码和报头
isCommited():检測server端是否已经把数据写入client。
范例:
将缓冲区的大小设置为20KB
response.setBufferSize();
PS:假设将缓冲区的大小设置为0则表示不缓冲
JSP具体条款——response对象相关推荐
- java response.sendredirect_通过response对象的sendRedirect方法重定向网页
通过response对象的sendRedirect方法重定向网页 制作人:全心全意 使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面.重定向操作支持将地址重定 ...
- JSP的概念||原理||JSP的脚本||JSP的内置对象||response.getWriter()和out.write()的区别||案例:改造Cookie案例
1. 概念 * Java Server Pages: java服务器端页面 * 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码 * ...
- (二十):response 对象 (JSP学习第六天)
response 对象 主要作用是对客户端的请求进行回应,将WEB服务器的处理结果发回客户端, response对象属于javax.servlet.http.HttpServletResponse接口 ...
- jsp内置对象(三)-----response对象
response对象 response对象包含了响应客户端请求的有关信息,但在JSP中很少直接用到它.他是HttpServletResponse类的实例,response对象具有页面作用域,即访问 ...
- JSP中如何借助response对象实现页面跳转呢?
转自: JSP中如何借助response对象实现页面跳转呢? 下文笔者将讲述使用response对象对页面跳转的几种方法分享,如下所示: 通过response.sendRedirect方法跳转 < ...
- response.getWriter()和jsp中的out对象的区别
两者的主要区别: 1. 这两个对象的类型是完全不同的:内置对象out的类型是JspWriter:response.getWrite()返回的类型是PrintWriter 2. 获取方式不同:JspWr ...
- JSP数据交互:request、response对象
JSP数据交互之request对象 JSP内置对象是 Web 容器创建的一组对象 一.request对象主要用于处理客户端请求 1.什么是request? request是Servlet.servic ...
- JSP:response对象
response代表服务器对客户端的响应.大部分时候,程序无需使用response来响应客户端请求,因为有个更简单的响应对象--out,它代表页面输出流,直接使用out生成响应更简单. 但out是Js ...
- 响应输出HTML处理,JSP response对象:响应客户端的请求并向客户端输出信息
response 对象和 request 对象相对应,用于响应客户请求,向客户端输出信息.response 是 HttpServletResponse 的实例,封装了 JSP 产生的响应客户端请求的有 ...
最新文章
- Python 中的用户自定义类型
- 搞定Go单元测试(三)—— 断言(testify)
- linux实战应用案例: 777 权限表示什么,各数字又是什么含义?
- JavaWeb 入门篇(3)ServletContext 详解 具体应用
- MyEclipse解决Launching xx on MyEclipse Tomcat has encountered a problem
- 外部 Storage Provider - 每天5分钟玩转 Docker 容器技术(149)
- html显示和隐藏不占空间的是什么,css怎么设置不占用空间的隐藏?
- HDU 4747 Mex【线段树上二分+扫描线】
- extmail html文件丢失,extmail/extman登录界面无法显示的故障解决
- 日历控件,可运行在XHTML1.0下
- hello bokeyuan
- R语言ETL工程系列:总论
- 小程序webview 页面被放大_Android中WebView加载的网页被放大的解决办法
- 什么是NoSQL及NoSQL四大分类
- MES系统之生产管理系统功能介绍(源码)
- 用java 把字符串写进文本,Java将字符串写入文本文件代码示例
- 企业微信邮箱可以移动办公吗?
- 4.1 c++左值和右值、类型转换
- 电脑蓝屏造成的数据丢失如何恢复
- 某程序员动了公司祖传代码屎山,半年没改完,惭愧后交辞职报告
热门文章
- python windows 消息通讯_python获取windows信息
- matlab理想低通滤波器代码_自己动手,解开Matlab下AMD锐龙处理器性能封印
- mysql plugin 调用_MySQL插件接口的调用方式
- windows系统下安装JDK8的教程图解
- 小程序下的兼容性问题
- 2018-2019-1 20189221 《深入理解计算机系统》第 1 周学习总结
- 在Docker中体验数据库之MySql
- 使用pygame制作一个简单的游戏
- 华为2288H V5串口重定向修改为iBMC
- 在SD/MMC卡上实现hive (Implement WinCE HIVEROM system on NAND or SD system )