HTTP状态码
a.三位数字组成。
b.在响应包发送之前由HTTP服务器写入到,响应包中的状态行中。
c.通知浏览器如何处理。
d.如无法返回资源文件,则返回其原因。
组成:100–599
状态码大全
1.1xx
最有特征:100
该资源非独立,接收响应包,需要继续索要其依赖的文件。
2.2xx
最有特征:200
完整的独立资源。
3.3xx
最有特征:302
资源文件地址。
依据HttpServletResponse对象的sendRedirect(String url)
方法设置的地址发送请求。浏览器不会读取响应体中的信息,依据头地址发送请求。
4.4xx
404:无法定位资源。
405:资源可定位,但该Servlet类无法处理浏览器请求的方法模式。
5.5xx
505:可定位,可采用请求方式,java异常处理失败。
多个Servlet对象的联合使用
浏览器一次只能申请一个Servlet对象,多个对象的使用就要向浏览器申请多次,如果多次申请全部由用户完成,则不利于对用户的体验。
重定向
用户通过手动的方式向OneServlet发送请求,OneServlet进行操作,使用响应对象的sendRedirect("请求地址")
来写入TwoServlet的地址,同时状态码将会设置成302,发送给浏览器,浏览器接收到响应包时,会根据其地址想服务器的TwoServlet发送请求,TwoServlet对象处理完成之后,将结果发送给浏览器。
注意:
使用sendRedirect("请求地址")
,浏览器将会以get的请求方式向服务器发送请求。
由于浏览器与服务器需要多次的往返信息,在此过程中将会浪费大量的时间,消耗的时间长。
请求转发
用户发送请求OneServlet,OneServlet工作完毕后,调用请求对象的
getRequsetDispatcher("/资源名称");
取得RequestDispatcher
(资源文件申请报告对象)对象再调用该对象的
forward(当前请求对象,当前响应对象);
来向TwoServlet发送请求。
浏览器无需发送多次请求,请求方式则根据客户端所发送的请求方式决定。