您的位置:首页 > 理论基础 > 计算机网络

HttpServletResponse和HttpServletRequest

2018-03-31 23:50 288 查看

HttpServletResponse和HttpServletRequest:

                                服务器接收到请求后,会针对每一次请求分别创建一个代表请求的ServletRequest对象和一个
代表响应的ServletResponse对象。request:我们用来获取客户端提交过来的信息,response我们用于返回响应客户端的信息。

HttpServletResponse:

    1、响应行
                setStatus(int sc):该方法,用于设置响应状态码。

    2、响应头

                sendRedirect(String,location) 请求重定向。

                setHeader("String","String") 设置响应头信息。

    3、响应正文:

                   response.getWriter().write()

                   response.getOutPutStream().write()

    常见应用:

            1、 解决乱码、

                        以字符流输出乱码解决方法  :             
                                      第一种:        
                                      response.setCharactorEncoding("utf-8"):告诉服务器使用的字符编码         
                                      response.setHeader("content-type","text/html,charset=utf-8")  告诉客户端使用的编码。
                                第二种
                                     response.setContentType("text/html","charset=utf-8");同时告诉客户端和浏览器使用的编码。
                         以字节流输出的乱码解决方案:
                                       response.setContentType("text/html","charset=utf-8")

                                        response.getInputStream().write("中文乱码问题".getBytes()) 
                                        getBytes()默认使用客户端的字符 码 。
           2、 文件下载:

                        response.setHeader("content-dispositon","attachment;filename="+filename);告诉客户端要下载文件。

                        response.setHeader("content-type","image/jpeg") 输出的类型

                            


               

           3 、刷新
                response.setHeader("refresh","1") 表示一秒种刷新一次    
           4、跳转
                response.setHeader(""refresh","3;url=location")    三秒钟后跳转到,相应的location。
          5、重定向(可以跳到任意站点,他相当于客户端重新访问一个地址。)
                   1、 response.setStatus(302) 响应行:告诉服务器端需要重定向。
                          response.setHeader("location","/day10_requestandresponse/ServletDemo4")

                    2、response.sendRedirect("location") 

                    如果你想要访问百度

                    response.sendRedirect("www.baidu.com")

HttpServletRequest

                请求行:
                            1、getMeathd() 请求的方式
                             2、getRequestURL 请求的完整URL

                             3、getContentPath /工程名

                             4、getRequestURI() /工程名/url-pattern

                             5、getQueryString;请求参数部分

                请求消息头:

                             1、getHeader("String") 根据头信息,得到头名称。

                              2、getHeaderNames() 所有的头信息。

                              3、getHeaders(String name) 根据相同的头名称得到一个头信息的枚举

                  请求正文:

                                1、getParameter("String name") 根据表单中的name,得到具体的值。

                                2、getParameterValues("String name") 获取复选框,选中值的一个集合。

                                3、getParameterNames() 所有表单name的一个枚举。

                                4、getParameterMap 关于表单里面的name value的一个集合Map<String,String[]>

                                5、request域有关的问题。

                                     setAttribute(String name,Object obj);

                                      getAttribute("name")

                                       removeAttribute("name")

                与请求转发,相关的方法:(中间对象:sun.rmi.server.Dispatcher)

                                转发:

                                    getRequestDispatcher(location).forward(request,response)

                                请求包含:

                                    getRequestDispatcher(location).include(request,response).

                请求编码相关问题:

                            post:

                                      request.setCharacterEncoding("utf-8")

                            GET;

                                      String str = request.getParameter("name");

                                    new String(str.getBytes("iso-8850-1"),"utf-8")

                

                        

                            

            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  request