JavaWeb JSP内置对象之response对象

3、response对象

response对象与request对象正好相反,所包含的是服务器向客户端作出的应答信息。response被包装成HttpServletResponse接口,它封装了Jsp的响应,被发送到客户端以响应客户端请求。因输出流是缓冲的,所以可以设置Http状态码和response头。
response对象常用方法如下表所示。

方法名称说明
addCookie(Cookie cookie)添加一个Cookie对象,用来保存客户端用户信息。用request对象的getCookies()方法可以获得这个Cookie
setContentType(String contentType)设置响应MIME类型。例如:response. setContentType(“application/msword;charset=GB2312”)
setCharacterEncoding(String charset)设置响应使用字符编码格式
setHeader(String name,String value)设定指定名字的HTTP文件头的值,如该值存在,会被新值覆盖。例如:在线聊天室,当refresh值为“5”时,就表示页面每5秒就要刷新一次。response.setHeader(“refresh”,”5”)
sendRedirect(URL)将用户重定向到一个不同的页面URL。调用此方法,终止以前的应答,更改浏览器内容为一个新的的URL。注意:使用sendRedirect重定向是没办法通过request.setAttribute来传递对象到另外一个页面的。
String encodeURL(String url)将url予以编码,回传包含sessionId的URL。用response.sendRedirect(response.encodeURL(url))的好处就是他能将用户的session追加到网址的末尾,也就是能够保证用户在不同的页面时的session对象是一致的. 这样做的目的是防止某些浏览器不支持或禁用了COOKIE导致session跟踪失败
String encodeRedirectURL(String url)对于使用sendRedirect()方法的url进行编码

实例代码1:

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.text.DateFormat"%>
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<body>
	<p>response自动刷新时间</p>
	当前时间为:
	<%
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		response.setHeader("Refresh", "1");
		out.println("" + df.format(new java.util.Date()));
	%>
</body>
</html>

程序说明1:

response.setHeader(“Refresh”,“1”),则1秒会重新加载页面本身。通过该方法可以设置页面自动刷新时间间隔。

运行结果1:

在这里插入图片描述

实例代码2:

<%@ page pageEncoding="GBK"%>
<html>
<body>
	<%
		String address = request.getParameter("where");
		if (address != null) {
			if (address.equals("qh"))
				response.sendRedirect("https://www.tsinghua.edu.cn/");
			else if (address.equals("bd"))
				response.sendRedirect("https://www.pku.edu.cn/");
		}
	%>
	<b>请选择跳转的页面:</b>
	<br>
	<form action="third_example3.jsp" method="GET">
		<select name="where">
			<option value="qh">跳转至清华大学
			<option value="bd">跳转至北京大学
		</select>
		<input type="submit" value="go" name="submit">
	</form>
</body>
</html>

程序说明2:

if(address.equals(“bd”))
response.sendRedirect(“http://www.pku.edu.cn”);
如果address值为“bd”,将用户重定向到http://www.pku.edu.cn。这时浏览器地址栏也是http://www.pku.edu.cn。
注意:使用jsp:forward,在转到新的页面后,原来页面request参数是可用的,同时在转到新的页面后,新页面地址不会在地址栏中显示出来。而使用sendRedirect方法,重定向后在浏览器地址栏会出现重定向后页面URL。

运行结果2:

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

废人一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值