Servlet相关常用小知识

Servlet常用知识

(备注:正文有一张图片转载自其他博主的博客,如果涉及侵权请第一时间联系我删除,带来不便深感歉意)

1.Servlet容器是什么:实现Servlet技术规范的部署环境,容器可以运行Servlet程序

备注:什么是容器:服务器的一种应用程序,服务器的每个端口都有一个程序提供对应的服务,这个程序就是容器

2.Servlet是什么:

​ @1 Java编写的服务器端的程序

​ @2 该程序遵循Servlet技规范

3.Tomcat是什么:

​ @1可以处理访问静态页面的请求,可以看做是一个WEB服务器

​ (WEB服务器定义:能够为发出请求的浏览器提供文档的程序)

​ @2 实现了Servlet规范,进而可以运行Servlet程序,所以可以看做Servlet容器

​ (Servlet规范是Java EE的核心技术规范)

​ @3 Servlet可以处理动态请求,所以也是应用服务器

​ (应用服务器定义:实现各种业务逻辑,运行应用程序,提 供应用程序所实现服务的设备)

​ 综上。Tomcat官方定义为Java EE Web应用服务器

4.Servlet全生命周期过程(解决Servlet是如何工作的的疑问)

​ @1 备注:Tomcat是java编写的,对java技术规范有很好的兼容性

​ @2 前端请求到达Tomcat,Tomcat负责解析,并找到对应的Servlet

​ @3 Tomcat通过反射创建Servlet实例,完成Servlet的实例化

​ @4 Servlet里有好多方法,其中有三个生命周期方法比较重要,分别为init()、destroy()、service()

​ init()是初始化Servlet的方法,

​ destroy()是销毁Servlet()时调用的方法

​ service()是逻辑代码,处理客户请求,doPost()或doGet()

备注:初始化不是实例化,Servlet的实例化(即在内存中生成一个Servlet对象实例)和初始化init不是一回事

​ destroy()不论被调用与否,最终该实进程都会被销毁,只是销毁前能执行该方法里的代码

​ @5 Java EE依赖中,Servlet是一个接口,和我们最终使用到的HttpServlet类有如下关系(图片转载自大佬博客,侵删):
img
–>>自己写的一个Servlet类,继承抽象类HttpServlet

–>>HttpServlet继承抽象类GenericServlet

–>>GenericServlet实现三个接口:Servlet, ServletConfig(记录该servlet基本信息), Serializable(序列化)

​ Servlet接口:

​ 定义了一个Servlet应该有的几个方法

​ GenericServlet作用

​ 在init()中给ServletConfig 赋值、给接口中的方法提供默认实现

​ HttpServlet:

​ @1 提供例如doPost()或者doGet()方法(不止这么多)

​ @2 有两个service方法,一个入参列表为ServletRequest、ServletResponse,一个入参列表为 HttpServletRequest、HttpServletResponse,前者在方法内部调用后者,后者则用来转向(根据请求方法调用dopost或者doget)

自己写的Servlet:

​ 主要需要重写doPost()和doGet()方法

5.Tomcat是如何找到对应的Servlet类的:

​ @1 检索web.xml,根据URL找到前端需要的servlet的名称,再根据名称找到全类名(路径),完成调用

​ @2 Servlet类名加WebServlet注解,结果与1等价

​ @3 两者不可以同时使用,相当于映射信息重复,服务器起不来

6.容器中的Servlet原则上只有一个实例,每个请求占用一个线程,多个线程可以作用于同一个Servlet,所以Servlet线程不安全

7.线程执行完毕,会返回线程池或者销毁;和Servlet实例的销毁不是一个概念

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值