文章目录
  1. 1. Servlet是什么
  2. 2. servlet执行流程和生命周期
  3. 3. 自己写一个servlet (骗人)
  4. 4. 最后的最后

Servlet是什么

简单来说,Servlet就是一个类,鹅以〒▽〒

  • 那那那那详细一点呢?
  • 嗷~能不能概括一下的呢?
    • 概括一下就是,Servlet是个接口,我们要通过实现接口中的方法来明确初始化时、销毁时、接受到请求时要做什么
    • 但是呢servlet本身是不和客户端打交道的,真·打交道的是最外面那层容器 –> Tomcat
    • Tomcat负责监听端口之类的,在请求过来之后,就根据URL等信息,确定要将请求交给哪个servlet去处理
    • 然后就调用那个Servlet的service方法,该service方法返回一个response对象,Tomcat再把这个对象返回给客户端
  • 最后放张容器之间的包含关系
    • HOST:主机;Content :上下文

servlet执行流程和生命周期

  • 以Get请求为例的执行流程
    • 注 :
      • 点击超链接进行提交 –> 可视为Get请求
      • 通过表单进行提交 –> 可视为POST请求
    • 具体流程如下 :
      • 用户点击超链接(访问URL),向服务器提交请求
      • 服务器收到请求后,在web.xml中寻找与之对应的URL地址
      • 找到符合的URL之后,就可以知道是给哪个servlet处理啦
      • 然后根据这个它的名字,去 < servlet > 标签中找到对应的Servlet处理类
      • 最后由提交时的请求方式,执行对应的方法(比如说是通过超链接,也就是GET方式提交的,就会去执行doGet方法)
    • 放张图就明白啦 :
  • servlet的生命周期
    • 生命周期的三个阶段 :
      • 初始化阶段 –>

        加载并实例化这个类,调用init()方法进行初始化
      • 活动阶段 –>

        响应客户端的请求,调用service()方法,再由service()方法来根据提交是的请求方式决定是执行doGet()还是doPost()
      • 销毁阶段 –>

        终止服务,调用destroy()方法进行销毁
    • 依惯例放图 :

自己写一个servlet (骗人)

  • 编写servlet的三个步骤
    • 继承HttpServlet
    • 重写doGet()或doPost()方法
    • 在web.xml中注册这个Servlet
  • 写Servlet这个类时的注意事项
    • 重写方法的时候要注意这两个输出 :
      • System.out.println() :在控制台输出
      • out.println() :在HTML页面输出
    • out其实不是out是PrintWriter :
      • PrintWriter out = response.getWriter();
    • 以及在HTML页面输出的时候要指定输出类型 :
      • response.setContentType(“text/html;charset=utf-8”);
    • 最后还是放个图,其实啥也没干的doGet() :
  • 注册这个Servlet
    • 要配置的两个标签 :
      • < servlet >
      • < servlet-mapping >
    • 具体来说是这样的:
      1
      2
      3
      4
      5
      6
      7
      8
      <servlet>
      <servlet-name>Servlet类名</servlet-name>
      <servlet-class>Servelt所在包名.类名</servlet-class>
      </servlet>
      <servlet-mapping>
      <servlet-name>Servlet类名</servlet-name>
      <url-pattern>URL请求路径</url-pattern>
      </servlet-mapping>

最后的最后

  • 其实Servlet有超多可以钻研的地方来着
  • 但是算惹 小可爱学不动了啦!
  • 让我们梦里再谈叭 (`・ω・´) 掰掰~
文章目录
  1. 1. Servlet是什么
  2. 2. servlet执行流程和生命周期
  3. 3. 自己写一个servlet (骗人)
  4. 4. 最后的最后