黑马程序员技术交流社区

标题: 响应&&request [打印本页]

作者: 卿心帝王    时间: 2019-8-30 15:36
标题: 响应&&request
响应状态码:服务器告诉浏览器本次请求和响应的状态
状态码:都是三位数
分类:
1xx:服务器接收客户端消息,但没有接收完成,等待一段时间后发送1xx状态码
2xx:成功。代表(状态码):200
3xx:重定向。代表:302,304(访问缓存){get请求会出现缓存  图片  js文件}
4xx:客户端错误:  400:坏的请求(框架)
   403:权限不足
   404(请求路径没有对应资源)常见问题之一
   405(请求方式没有对应的doGet或doPost方法)
5xx:服务器端错误:500(服务器内部资源错误)常见问题之一(代码写错)

request的作用
                        1.获取请求参数
                                getMethod(0
                                getContextPath()
                                getRequestUri()
                                getRequestUrl()
                                getHeader()
                                getParameter()
                                getParameterValues()
                                getParameterMap()
                                setCharacterEncoding()
                        2.作为域对象进行数据共享(只能请求转发时使用!!!!)
                                setAttribute()
                                getAttribute()
                                removeAttribute()
                        3.进行页面的请求转发
                                request.getRequestDispatcher("路径").forward(request,response)
       
                        请求转发的特点
                                1.地址栏不发生改变
                                2.只能访问服务器内部资源(包括/WEB-INF)
                                3.只有一次请求
               
                        注意事项:
                                a->b  a是post  b是post
                                a->web-inf中内容
                                req.getRequestDispatcher("/WEB-INF/hehe.jsp").forward(req,resp);
                                                注意:/WEB-INF/只能通过请求转发访问
                               
                        BeanUtils
        把服务器接收的数据自动封装到一个实体类中
       
                1.获取浏览器传到后台请求参数
                Map<String,String[]> map = request.getParameterMap();
                2.创建一个空的对象
                        User u = new User();
                3.使用BeanUtils进行封装
                        BeanUtils.populate(u,map)


重定向和请求转发区别:
请求转发: 一次请求 重定向  :二次请求
请求转发:地址栏不变 重定向:地址栏改变
请求转发访问服务器内部资源 重定向:访问外部和服务器内部资源(不能访问/web-inf下的资源)
请求转发:在request域中数据共享 重定向  :不能在request域中谁共享
Respones:

响应头和请求头的区别
                请求头:        发送请求时浏览器携带到服务器的数据
                响应头: 服务器处理完请求后,将数据回写时携带回浏览器的数据

常见的相应头
                content-type                                设置响应编码,设置内容mime类型
                content-disposition                        场景:下载
               
response
                1.往浏览器回写数据
                        response.getWriter().write()
                        response.getOutputStream().write()
                2.控制页面跳转
                        response.sendRedirect()
                3.解决响应乱码
                        字符流
                                response.setContentType("text/html;charset=utf-8");
                        字节流
                                response.setContentType("text/html;charset=utf-8");
                                response.getOutputStream().write(字符串.getBytes("utf-8"))
                               
                               
                        response.setContentType("text/html;charset=utf-8")作用:
                                1.告诉浏览器以utf-8的形式去接收数据
                                2.把数据写回到浏览器的时候用utf-8的格式输出




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2