常见的状态码:
200---表示很正常
302(307):页面重新指定向
304:表示文件未修改
404:表示找不到网页
500:服务端出错,可能为代码错误
在Servlet API中,第一了一个HttpServletResponse接口,它继承自ServletRensponse接口,专门用来封装HTTP响应消息,由于HTTP向响应消息分为状态行、响应消息消息头、消息体三部分。因此,在HttpServletResponse接口中定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。
request对象的学习:
获得request对象中封存了当前请求的所有信息
使用:
获取请求头数据:
获取请求行数据:
response对象的学习:
作用:用来响应数据到浏览器的一个对象
使用:
设置响应头:
设置响应状态:
resp.sendError(int code,String name);//自定义错误状态;
设置响应实体:
resp.getWriter().write(Strin str);//响应具体的数据给浏览器
发送响应消息体相关方法
getOutStream()方法获取输出流
getWriter()方法发送消息体
getOutStream()方法获取输出流对象
虽然response对象的getOutputStreamO和getWriter(O方法都可以发送响应消息体,但是,它们之间互相排斥,不可同时使用,否则会发生IllegalStateException异常
实现重定向:
一个web资源收到客户端请求后,他会通知客户端去访问另外一个web资源,这个过程就是重定向。
常见场景:
用户登录
void sendRedirect(String var1) throws IOException;
代码:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
/*
resp.setHeader("Location","/r/img");
resp.setStatus(302);
*/
resp.sendRedirect("/r/img"); //重定向
结果在浏览器中访问效果:路径从 /red 自动跳转到 /img