Servlet一

一、简介

  1. 何为Servlet?servlet是JavaEE规范之一,是JavaWeb三大组件之一(分别是servlet程序,filter过滤器,listener监听器),servlet是运行在服务器上的一个小程序,它接受客户端发送过来的请求,并响应数据给客户端。
  2. 手动实现servlet程序
    • 编写一个类去实现servlet接口
    • 实现service方法,处理请求并响应数据
    • 到web.xml文件中去配置servlet程序的访问地址
      <!-- servlet标签用于给Tomcat服务器配置Servlet程序 -->
          <servlet>
              <!-- 给Servlet程序起一个别名 -->
              <servlet-name>Servlet1</servlet-name>
              <!-- Servlet程序的全类名 -->
              <servlet-class>com.guangcai.servlet.Servlet1</servlet-class>
          </servlet>
          <!-- servlet-mapping标签给servlet程序配置访问地址 -->
          <servlet-mapping>
              <!-- servlet-name标签用于告诉服务器我当前配置的地址给哪个servlet程序使用 -->
              <servlet-name>Servlet1</servlet-name>
              <!-- url-pattern标签配置访问地址 /表示服务器解析时,地址为http://ip:port/工程路径 -->
              <url-pattern>/servlet1</url-pattern>
          </servlet-mapping>
  3. url地址到servlet程序的访问

  4.servlet的生命周期

    • 执行servlet构造器方法
    • 执行init初始化方法
      • 第一二步是在第一次访问时创建servlet程序时会调用
    • 执行service方法
      • 每次访问都会调用
    • 执行destory方法
      • 第四步是在web工程停止时会调用

  5.get请求和post请求的分发处理

二、通过继承HttpServlet实现Servlet程序

  1. 介绍:一般的实际开发项目中,都是通过继承HttpServlet类的方式去实现Servlet程序
    • 编写一个类去继承HttpServlet
    • 重写doGet和doPost方法
    • 在web.xml中去配置servlet程序的访问地址

三、使用IDEA去创建servlet程序

四、Servlet类的继承体系

五、ServletConfig类

  1. 简介:从类名上看,是Servlet类的配置文件
    • Servlet程序和ServletConfig都是由Tomcat创建,我们负责使用
    • ServletConfig类在Servlet程序第一次访问时创建,每个Servlet程序创建时就对应有一个ServletConfig对象

ServletConfig类的三大作用

  • 可以获取servlet程序的别名
  • 获取初始化init-parm
        <servlet>
    
            <!-- 给Servlet程序起一个别名 -->
            <servlet-name>Servlet1</servlet-name>
            <!-- Servlet程序的全类名 -->
            <servlet-class>com.guangcai.servlet.Servlet1</servlet-class>
    
            <init-param>
                <param-name>user</param-name>
                <param-value>root</param-value>
            </init-param>
        </servlet>
        @Override
        public void init(ServletConfig config) throws ServletException {
            super.init(config);
            System.out.println("别名:"+config.getServletName());
            System.out.println("参数:"+config.getInitParameter("user"));
            System.out.println("servletContext:"+config.getServletContext());
        }
  • 获取servlet-contex对象

 六、ServletContext类

  1. 简介:ServletContext是一个接口,表示Servlet的上下文对象
  2. 特点:
    • ServletContext一个Web工程只有一个对象实例
    • servletContext是一个域对象,在Web工程部署启动时创建,结束时销毁
  3. 何为域对象? 域对象是像Map一样可以存储数据的对象,域对象存储数据的操作范围是整个web工程
    • map:存-put()  取-get()  删除-remove()
    • 域对象:存-setAttribute()  取-getAttribute()  删除-removeAttribute()
  4. ServletContext的四个作用
    • 获取web.xml中配置的<context-parm>
    • 获取当前的工程路径
    • 获取当前工程部署在服务器盘上的绝对路径
    • 想Map一样存储数据
              ServletContext context = getServletConfig().getServletContext();
             //获取当前工程路径
              String realPath = context.getRealPath("/");
              //获取当前工程路径下的该文件的绝对地址
              String filePath = context.getRealPath("/img.img");
              //获取web.xml中配置的上下文参数
              String key = context.getInitParameter("key");
              //获取保存的域对象
              context.setAttribute("name","qiaobenyoutui");

七、HTTP协议

  1. 什么是HTTP协议? 指客户端和服务器在双方在传输数据方面要共同遵守的规则,较HTTP协议,其中,传输的数据,又叫报文。
  2. 请求的HTTP协议格式
    • 客户端发送给服务器数据叫请求
    • 服务器给客户端回传数据较响应
    • 请求又分为get请求和post请求
      • get请求
        • 请求行:
          • 请求的方式                    GET
          • 请求的资源路径             [+?+请求参数]
          • 请求的协议版本号         HTTP/1.1
        • 请求头
          • key:value                      不同的键值对,表示不同的含义
      • post请求
        • 请求行:
          • 请求的方式                    POST
          • 请求的资源路径             [+?+请求参数]
          • 请求的协议版本号         HTTP/1.1
        • 请求头:
          • key:value                      不同的键值对,表示不同的含义
        • 空行
        • 请求体:就是发送给服务器的数据

八、常见的请求头说明

  • Acept: 表示客户端可以接收的数据类型
  • Acpet-Langueg: 表示客户端可以接收的语言类型
  • User-Agent: 表示客户端浏览器的信息
  • Host: 表示请求时的服务器 ip 和端口号

 

九、哪些是get请求,哪些是post请求

  GET 请求有哪些:
    1、form 标签 method=get
    2、a 标签
    3、link 标签引入 cs
    4、Script 标签引入 js 文件
    5、img 标签引入图片
    6、iframe 引入 html 页面
    7、在浏览器地址栏中输入地址后敲回车
  POST 请求有哪些:
    8、form 标签 method=post

 

十、响应的HTTP格式

  1. 响应行
    • 协议或版本号-响应状态码-响应描述符   HTTP/1,1  200  OK
  2. 响应头
  3. 空行
  4. 响应体

  • 常用的响应码说明
    • 200     请求成功
    • 302     请求重定向
    • 404     请求服务器收到了,但是要访问的资源不存在(地址错误)
    • 500  请求服务器收到了,但是服务器内部错误(代码错误)

十一、MIME数据类型

  1. 简介:MIME是HTTP协议中数据类型,全程是Multipurpose internet Mail Extensions , 即多功能Internet邮件扩展服务。MIME数据类型的格式是"大类型/小类型",并与某种文件的扩展名相对应
posted @ 2020-11-27 20:04  arraySet  阅读(111)  评论(0)    收藏  举报