• 【servelt原理_6_servlet核心接口和类】


    servlet核心接口和类

    在Servlet体系中,除了实现servlet接口,还可以通过继承GenericServlet或HttpServlet类实现编写
    
    • 1

    1.Servlet接口

    servlet接口是整个servlet的核心。它是所有Servlet类必须直接或者间接实现的一个接口,其内部需要实现的5个方法分别关乎着我们servlet的生命周期和业务实现。
    
    • 1
    init(... )  当Servlet第一次被请求时,Servlet容器就会开始调用这个方法来初始化一个Servlet对象出来  
    service(...)  每当请求Servlet时,Servlet容器就会调用这个方法
    destroy(...) 当要销毁Servlet时,Servlet容器就会调用这个方法
    getServletInfo( ...) 这个方法会返回Servlet的一段描述,可以返回一段字符串。
    getServletConfig(... )这个方法会返回由Servlet容器传给init( )方法的ServletConfig对象。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.servlet的生命周期
    由于servlet本身没有main()方法,不能独立运行,他的运行完全由Servlet容器来进行控制和调度。Servlet 生命周期可被定义为从创建直到毁灭的整个过程。

    @WebServlet(value="/s01")
    public class Servlet01 implements Servlet{
    
    	@Override
    	public void init(ServletConfig config) throws ServletException {
    		// TODO Auto-generated method stub
    		System.out.println("初始化时调用");
    	}
    
    	@Override
    	public ServletConfig getServletConfig() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    	@Override
    	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		System.out.println("开启服务时调用");
    	}
    
    	@Override
    	public String getServletInfo() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		System.out.println("销毁时调用");
    	}
    	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    在这里插入图片描述
    3.GenericServlet抽象类

    GenericServlet实现了servlet接口,并且实现了init()和destroy()方法,简化了我们的开发流程
    
    • 1

    ①:实现GenericServlet
    在这里插入图片描述
    ②:配置web.xml,完成对程序的访问
    在这里插入图片描述
    4.HttpServlet类
    HttpServlet是继承了GenericServlet类,这是一个抽象类。因为我们的请求一般都是Http请求,为了匹配Http请求,于是就有了HttpServlet。为了能够更加方便的处理来自浏览器的数据和将数据写会到浏览器,HttpServlet类引用了HttpServletRequst和HttpServletResponse两个类来处理和相应数据。

    ①:实现HttpServlet
    在这里插入图片描述
    ②:配置web.xml,完成对程序的访问
    在这里插入图片描述
    1.用get的方式进行访问
    在这里插入图片描述
    在这里插入图片描述
    2.用post的方式进行访问
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    jenkins 发布项目到k8s tomcat
    人工智能安全
    C++函数模板
    【你不知道的javascript上】this指针,函数的call、apply、bind,new 操作符到底发生了什么
    Redis 篇
    【Linux高性能服务器编程】两种高性能并发模式剖析——领导者/追随者模式
    ChatGPT全方位解析:如何培养 AI 智能对话技能?
    BeanFactory与FactoryBean
    【ASP.NET Core】MVC控制器的各种自定义:特性化的路由规则
    3.1 栈和队列的定义和特点
  • 原文地址:https://blog.csdn.net/edwer93/article/details/128143651