Response
作用
一. 重定向
页面跳转
response.sendRedirect( 目标地址 )
旧方法:
- 设置响应行的状态码为302,setStatus(302);
- 设置响应头,setHeader( "location" , 目标地址 )
注:
1、必须写上项目名
2、可以访问其他服务器资源
3、一次资源的请求只能有一次请求转发或者重定向
重定向与请求转发的区别:
1、重定向需要写上项目名而请求转发不需要
2、重定向可以访问其他网站,请求转发只能访问所在服务器的资源
3、重定向请求了两次,转发只请求了一次,所以请求转发后的页面是能获取到请求域中的数据的,而重定向后的页面获取不到请求域中的数据
4、请求转发的性能优于重定向
请求资源时,地址栏的项目名什么时候要写什么时候不写?
服务器访问内部资源时,不需要写;例如:请求转发
从服务器外部访问服务器中资源时,需要写。例如:重定向,其他从浏览器访问服务器资源
二. 设置响应的编码格式
在使用响应向页面中输出内容前,setContextType( "text/html;charset=utf-8" );
三. 响应消息
服务器发送数据给客户端
3.1 响应行
组成部分:协议 / 版本 响应的状态码 状态描述
状态码:服务器告知客户端此次请求和响应的状态
设置状态码:setStatus(状态码);
常见的状态码:
- 200:成功
- 302:重定向
- 304:访问缓存
- 404:请求的资源没有找到
- 405:请求方式没有对应的doXxx()方法
- 500:服务器内部错误,服务器的Java代码有异常且没有处理
3.2 响应头
方法:setHeader(String , String)
常见的响应头:
- Content-Type:服务器告知浏览器要以何种编码格式解析
- Content-Disposition:服务器告知浏览器以何种形式访问请求的资源(打开响应体的数据)
- 值是 attachment ; filename = xxx 以附件形式打开,下载
3.3 响应体
响应的内容
- getWriter();
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="/day26_4/down">
下载
</a>
</body>
</html>