黑马程序员技术交流社区

标题: 好好学习,天天进步 [打印本页]

作者: 阿喵呀    时间: 2019-4-25 08:47
标题: 好好学习,天天进步
1.servlet体系结构
        servlet--接口
        HttpServlet 抽象类 复写doGet doPost方法

2.Servlet相关配置
       
        1.urlpattern:Servlet访问路径
                *一个Servler可以定义多个访问路径:@WebServlet({"/d4","/dd4"})
3.Http协议
        *传输协议:定义了,客户端和服务器端通信时,发送数据的格式
        *特点:
                1.基于TCP/IP的高级协议
                2.默认端口号:80
                3.基于请求/ 响应模型的,一次请求对应一次响应
                4.无状态的:每次请求之间相互独立,不能交互数据
               
        *历史版本:
                *1.0 每一次请求都会建立新的连接
                *1.1 复用连接
       
               
        *请求消息的数据格式
                1.请求行
                       
                2.请求头
                        键值对
                        1.User-Agent:
                                *可以在服务器端获取该头的信息,,解决浏览器的兼容性问题
                        2.Referer
                                *告诉服务器,当前请求从哪里来
                                        *作用
                                                1.防盗链
                                                2.统计工作
                        3.Connecction:
                3.请求体
        *响应消息的数据格式

4.Request
        1.request对象和response对象原理
                1.request和response对象是由服务器创建的
                2.request对象是来获取请求消息,response对象设置响应消息

                reuqest对象中封装请求消息数据
                tomcat将request和response两个对象传递给service方法,并且调用service方法
       
       
        2.request对象继承体系结构
                ServleRequest--接口
                        |继承
                HttpServlerequest        --接口
                        |实现
        3.request功能:
                1.获取请求消息
                        1.获取请求行数据
                                *方法:
                                        1.获取请求方式:String getMethod()
                                        2.(*)获取虚拟目录:String getContextPath()
                                        3.获取Servlet路径:get ServletPath()
                                        4.获取get方式请求的参数:String getQuertString()
                                        5.(*)获取请求URI:String getRequestURI()
                                                        StringBuffer getRequestURL()
                                                       
                                        6.获取协议及版本:HTTP/1.1
                                        7.获取客户机IP地址:String getRemoteAddr()

                                        URL:统一资源定位符
                                        URI:统一资源标识符
                        2.获取请求头数据
                                *方法:
                                        (*)*String getHeader(String name):通过请求头的名称获取请求头的方法
                                        *Enumberation
                        3.获取请求体数据
                                *请求体:只有POST请求方式,才有请求体,在请求体中封装了POST请求的请求参数
                                *步骤:
                                        1.获取流对象
                                                *BufferedReader getReader():获取字符输入流,只能操作字符数据
                                               
                                        2.再从流对象中拿数据

                               
                                       
                2.其他功能
                        1.获取请求参数通用的方式
                                1.String getParameter(String name):根据参数名称获取参数值
                                2.String[] getParameterValues(String name):根据参数名称获取参数的数组
                                3.Enumberation<String> getParameterNames:获取所有请求的参数名称
                                4.Map<String,String[]>getParameterMap:获取所有参数的Map集合

                                *中文乱码:
                                        *get方式:tomcat8解决了get乱码
                                        *设置流的编码
                                                *request.setCharseterEncoding("utf-8");
                                       
                        2.请求转发:一种在服务器内部资源跳转的方式
                                1.步骤:
                                        1.reuqest对象调用:getRequestDispatcher(String path)
                                        2.forword(reuqest,response)
                                2.特点
                                        1.浏览器地址栏路径不发生变化
                                        2.只能转发到当前服务器资源中
                                        3.转发是一次请求
                        3.共享数据(域对象)
                                *域对象:一个有作用范围的对象,可以在范围内共享数据
                                *request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据       
                                *方法:
                                        1.setAttribute(String name,Object obj):存储数据
                                        2.Object getAttribute(String name)通过键找值
                                        3.void removeAtteibute(String name)        4.获取ServletContext:
                               

                        4.获取ServletContext:
                                *getServletContext()

                        5.BeanUtils工具类,简化数据封装:
                               
























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