美文网首页
Servlet学习笔记1: Servlet与Http介绍

Servlet学习笔记1: Servlet与Http介绍

作者: 奔跑的程序媛A | 来源:发表于2021-02-05 14:26 被阅读0次

1. 什么是Serlvet?

处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。
Serlvet是由服务器调用的,运行在服务器端。

2. tomcat与servlet

  • Tomcat 是Web应用服务器,是一个Servlet/JSP容器.


3.HTTP协议

  • 请求头
  • 响应头

4.编写Servlet程序

1)实现Servlet有三种方式:

  • 实现 javax.servlet.Servlet 接口;
  • 继承 javax.servlet.GenericServlet类;
  • 继承 javax.servlet.http.HttpServlet类;
    实际开发中,我们通常会选择继承HttpServlet类来完成我们的Servlet

2) 实现Serlvet接口

  • 建一个自定义类,实现Serlvet接口
  • 5个方法需要重写,有init【初始化】,destroy【销毁】,service【服务】,getServletConfig【Servlet配置】,getServletInfo【Serlvet信息】
  • service()方法:写逻辑代码
public class myClass implements Servlet{
   ServletConfig config=null;
   @Override
   public void init(ServletConfig config){
      this.config=config;
      System.out.println("Initialization complete");
   }
   @Override
   public void service(ServletRequest req,ServletResponse res)
   throws IOException,ServletException{
       res.setContentType("text/html");
       PrintWriter pwriter=res.getWriter();
       pwriter.print("<html>");
       pwriter.print("<body>");
       pwriter.print("<h1>Servlet Example Program</h1>");
       pwriter.print("</body>");
       pwriter.print("</html>");
       //调用ServletResponse对象的方法向浏览器输出HelloWorld
       res.getWriter().write("Hello World"); 
   }
   @Override
   public void destroy(){
       System.out.println("servlet life cycle finished");
   }
   @Override
   public ServletConfig getServletConfig(){
       return config;
   }
   @Override
   public String getServletInfo(){
       return "A Demo program written by Chaitanya";
   }
}

3)HttpServlet 类

HttpServlet类已经实现了Servlet接口的所有方法,编写Servlet时,只需要继承HttpServlet,重写你需要的方法即可,并且它提供了对HTTP请求的特殊支持,更加强大

service()方法

在 HttpServlet 的 service(ServletRequest,ServletResponse)方法中会把 ServletRequest 和ServletResponse 强转成 HttpServletRequest 和 HttpServletResponse

doGet() 和 doPost()

在HttpServlet的service(HttpServletRequest,HttpServletResponse) 方法会去判断这个请求是GET还是POST,如果是GET请求,就去调用类中的doGet()方法,如果是POST请求,就去调用doPost()方法,这说明我们在子类中去覆盖doGet()或doPost()方法就可以了

5.Servlet的生命周期

  • 加载Servlet。当Tomcat第一次访问Servlet的时候,Tomcat会负责创建Servlet的实例
  • 初始化。当Servlet被实例化后,Tomcat会调用init()方法初始化这个对象
  • 处理服务。当浏览器访问Servlet的时候,Servlet 会调用service()方法处理请求
  • 销毁。当Tomcat关闭时或者检测到Servlet要从Tomcat删除的时候会自动调用destroy()方法,让该实例释放掉所占的资源。一个Servlet如果长时间不被使用的话,也会被Tomcat自动销毁
  • 卸载。当Servlet调用完destroy()方法后,等待垃圾回收。如果有需要再次使用这个Servlet,会重新调用init()方法进行初始化操作。

简单总结:只要访问Servlet,service()就会被调用。init()只有第一次访问Servlet的时候才会被调用。
destroy()只有在Tomcat关闭的时候才会被调用。


Servlet知识点

相关文章

  • Servlet学习笔记1: Servlet与Http介绍

    1. 什么是Serlvet? 处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet...

  • Servlet知识点

    servlet 知识点 主要分为 10 个点 : ① Tomcat ; ②Servlet 与HTTP介绍 ;③ S...

  • Servlet 工作原理解析

    从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 ...

  • servlet架构解析

    从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 ...

  • 从servlet容器说起

    要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点...

  • Servlet

    1.Servlet 学习大纲 servlet 概念以及相关接口简介 servlet 执行过程 servlet 路径...

  • Servlet 实例

    Servlet 实例 Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接...

  • Servlet学习1-- Servlet基本介绍

    一.Servlet介绍 什么是ServletServlet来自两个单词:Server和Applet,是一个在服务器...

  • Servlet

    Servlet介绍 Servlet开发步骤 创建Servlet 配置Servlet 配置Servlet中设置初始化...

  • springMVC-上传文件报错500

    报错信息:HTTP Status 500 - Servlet.init() for servlet servlet...

网友评论

      本文标题:Servlet学习笔记1: Servlet与Http介绍

      本文链接:https://www.haomeiwen.com/subject/bnzptltx.html