HttpSerlvetResponse编程相应代码及参数要求.docVIP

  • 1
  • 0
  • 约2.25千字
  • 约 7页
  • 2018-11-04 发布于天津
  • 举报

HttpSerlvetResponse编程相应代码及参数要求.doc

HttpSerlvetResponse编程相应代码及参数要求.doc

内容 HttpSerlvetResponse编程相应代码及参数要求 教 学 目 的 1.了解HttpSerlvetResponse的主要方法。 2.理解HTTP响应状态码及其作用。 3.了解HttpSerlvetRequest的主要方法。 教 学 内 容 1. HTTP响应格式回顾 HTTP响应一般由状态码、响应报头、空行和响应数据组成。典型的格式如下: HTTP/1.1 200 OK Content-Type:text/html Header2:… … HeaderN:… CRLF html…/html 2. Sevlet中的HttpServletResponse对象 【技能点】根据服务器的响应状态代码,缩小WEB应用的故障排查范围。 一般我们在进行servlet编程时,不需要手工设置响应代码。如果需要设置,可以使用setStatus方法(需要在PrintWriter响应数据之前设置)。状态代码可以从HttpServletResponse的常量中获取。SC是StatusCode的缩写。更为常用的是sendRedirect和sendError方法,这两个方法会自动为我们设置响应的状态代码。 以下是Servlet源码: 2.1 状态码200 响应成功,服务器可以返回客户所请求的资源。 2.2 状态码302 客户所请求的资源已被转移,即它的URL地址已发生改变。 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.sendRedirect(/Response/welcome.jsp); } 2.3 状态码404 客户请求的资源不存在,有可能是客户发送的URL有误或者是资源已被删除,在服务器上无法找到。 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.sendError(HttpServletResponse.SC_NOT_FOUND, SORRY,WE CANT FIND THE PAGE.); } 2.4 状态码500 客户的URL请求无误,错误或异常发生在服务器端,如运维人员见到此错误,主要要考虑是否是服务端的Servlet编码逻辑有误。 以下是模拟此错误的代码: 2.5 状态码1xx 服务器对客户端的特殊应答,表示客户端可以继续后续的操作。 以下是模拟代码: 1. HTTP请求格式回顾 HTTP请求一般由命令、URI、版本和请求头组成。典型的格式如下: GET /index.jsp HTTP1.1/ Host: ... Header1: Header2:… … HeaderN:… CRLF 2. 请求报头详解 1)host:表示发出请求的主机名和端口号。如果是本机访问,会显示localhost;请同学访问教师机,查看host值的不同。 2)connection:keep-alive。表面客户端是否可以处理持续性的HTTP连接,即用户可以在一个socket中读取多个资源,如HTML中的文本与图片,从而节省创建几个独立连接的资源开销。另外的取值是close。 3)cache-control: max-age:Indicates that the client is willing to accept a response whose age is no greater than the specified time in seconds.在收到响应的max-age秒内,如果再次访问相同的资源,那么将不发出请求。例如,是15:10:25秒,访问了http://localhost:8080/Test/index.html页面,max-age=5,那么在15:10:29秒再次访问则读取缓存。 4)Accept:说明客户端(浏览器)能够处理的MIME类型。 5)Accept-encoding:列出客户端所支持的编码类型(其实是指页面文件的压缩算法。sdch是chrome支持的压缩算法,如果是通过IE,这里的encoding就没有sdch的取值)。 6)Accept-language:客户端首选的显示语言。 7)User-agent:表明发出请求的浏览器。注意,如果需要检测是否为IE,则可查看该头部信息中是否有包含MSIE的取值。 【例

文档评论(0)

1亿VIP精品文档

相关文档