翩跹吉吉 发表于 2013-2-7 16:30:32

Java Web编程--servlet生命周期和处理Http请求与响应

 

[*]我们首先来看看servlet的生命周期:
 
   1.容器开启并加载servlet;
   2.调用init()方法对servlet进行初始化;
   3.当请求到来调用service()方法处理请求,发送响应;
   4.调用destory()方法销毁servlet;
 
 

[*]servlet处理Http响应
           来看看http的响应信息结构包括:状态行、响应头、空行、消息体;
           状态行中各个状态码代表的意思:
                      100-199:消息;
                      200-299:响应成功;
                      300-399:页面重定向;
                      400-499:客户端发生错误;
                      500-599:服务器端发生错误;
            我们也可以手动来设置状态码:response.setError(状态码);
 
            设置响应头:response.setHeader(键,值);
 
            设置消息体(常用):
                       1.传输文本:response.getWriter();
                       2.传输二进制文件:response.getOutputStream();
 
            请求的重定向:response.sendRedirect();
            重定向原理:当一个请求到来时如果要进行重定向,服务器会在状态行发送一个302的状态码,把发送一个location的响应头,客户端获得一个302的状态码后会将地址栏修改为响应头的location,然后再次发送一个请求,在整个过程中客户端发送了两次请求;
 

[*]servlet处理Http请求
              来看看http的请求信息结构包括:请求行、请求头、空行、消息体;
 
              获取属性方法:request.getParemeter(name);    request.getParemeterValues(name);
 
              内部转发:
                  RequestDispather dis = request.getRequestDispather("转发地址");
                  dis.include(request,response);
                  dis.forward(request,response);
 
              修正乱码方法1:在页面中统一字符编码:<%@page ContentType="text/html;charset=utf-8" %>
              修正乱码方法2:例:String name=request.getParemeter("name");
                                           byte[] bt = name.getBytes("ISO8859-1");
                                           name = new String(bt,"gbk");
 
      
页: [1]
查看完整版本: Java Web编程--servlet生命周期和处理Http请求与响应