servlet下的request&&response

request的方法
    *获取请求方式: request.getMethod();
    * 获取ip地址的方法 request.getRemoteAddr();
    * 获得用户清气的路径;
        * request.getRequestURL().tostring();    --- url
        * request.getRequestURI()                --- uri        
    *获得工程名;
        * request.getContextPath();
    *在接受数据前设置编码
        * post请求
            * request.setCharcterEncoding("UTF-8");   ---一定要在接收文件前编码才不会乱码 post请求
        * get请求
            * new String (request.getParameter(name).getByte("ISO-8859-1"),"UTF-8")
    * request对象存取数据
        * setAttribute(name,value);
        * object getAttribute(name)
        * request的作用范围;
            * 一次请求的范围
            * 创建和销毁
                * 创建: 客户想服务启发送了一次请求以后,服务器就会创建一个request的对象
                * 销毁: 当服务器对这次请求作出了响应之后
* 重定向和转发的区别
    * 重定向地址栏会变,转发地址栏不变
    * 重定向是两次请求两次响应,转发是一次请求一次响应
    * 重定向路径需要添加工程名,转发不需要工程名
    * 重定向可以重定向到任何网页,转发只能在服务器内部转发
重定向:    response.sendReditect("/download/register.jsp");
转发; request.getRequestDispatcher(path).forword(request,response);



总结:
Response
* 通过response设置状态码:setStatus(int status);
* 通过response设置响应头:setHeader(String name,String value);,setIntHeader(String name,int value),setDateHeader(String name,long date);
* 通过response设置响应体:getOutputStream(),getWriter();
* response的其他的API:
     * sendRedirect(String path);
* response输出中文的乱码问题:
     * 字节流输出中文:
         * 设置浏览器的字符集编码.   response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
         * 设置输出内容的字节数组的字符集编码.        “”.getBytes(“UTF-8”);
     * 字符流输出中文:
         * 设置浏览器字符集编码.        response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
         * 设置response的缓冲区的编码.        response.setCharacterEncoding(“UTF-8”);
* response完成了文件下载功能:

Request
* 使用request获得客户机的信息. getRemoteAddr(),getMethod(),getRequestURI(),getRequestURL()
* 获得请求参数:getParameter(),getParameterValues(),getParameterMap()
* 作为域对象存取数据:setAttribute(),getAttribute(),removeAttribute();
* 接收参数的中文乱码的处理:
    * GET    :new String(“”.getBytes(“ISO-8859-1”),”UTF-8”)
    * POST    :request.setCharacterEncoding(“UTF-8”);
* request何时创建和销毁的?
    * 创建:从客户端向服务器发送请求.那么服务器创建一个request对象.
    * 销毁:服务器为这次请求作出了响应之后,服务器就会销毁request对象.
    * 作用范围:一次请求.
* 转发和重定向区别?
    * 转发是一次请求一次响应,重定向两次请求和两次响应.
    * 转发地址栏不变,重定向会变化.
    * 转发的路径不需要加工程名,重定向需要加工程名.
    * 转发只能在本网站内部,重定向可以定向到任何网站.

原文地址:https://www.cnblogs.com/czb2580/p/6294062.html