“servlet”指的是什么?

“servlet”指的是什么?,第1张

1.什么是SERVLET?

Servlet是用Java编写的服务器端程序, 其主要功能在于交互式地浏览和修改数据,生成动态Web内容.

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,我们一般将Servlet理解为后者。

这段话可能听起来有些绕, 但如果大家把Servlet与Spring MVC 的前端则信控制器 DispatcherServlet

结合起来理解, 应该立马就知道它是做什么的了. Servlet 是Java JDK提供的一个接口, 所有的Servlet都继承于它,

而DispatcherServlet是一个继承了实现了Servlet接口的类的类.

2.知识剖析

Servlet 的生命周期

Servlet 的生命周期分为三个阶段, 分别对应Servlet中的三个接口.

init() 初始化.

service() 处理客户端的请求, 具体业务逻辑. ServletRequest 对象用于获得客户端信息,ServletResponse 对象用于向客户端返回信息(客户端可以理解为浏览器)

destroy() 结束时调用. 这个方法只有在servlet的service方法内的所有线程都退出的时候,或在超时的时候才会被调用。

init() 和 destroy() 都只会在Servlet创建和销毁时调用一次, 而service() 则会在响应不同请求时多次调用.

注意Servlet是一个接口,实现了servlet的类,是不能直接处理请求的. 

请求需要通过Servlet容器来发送到Servlet, Servlet是运行在Servlet容器中的. 

Servlet容器是Web服务器和servlet进行交互的必不可少的组件。常见Web服务器有Tomcat, jetty, resin, 它们也可以称为应用服务器

3.常见问题

1. Servlet 如何接收才丛纯能接收到Servlet容器发来的请求?

2. Servlet 什么时候被初始化?

3. DispatcherServlet 如何处理容器发来的请求?

4.解决方案

1. Servlet 容器通过监听端口(8080)来接收用户发送的请求, 然后通过web.xml中的 Servlet-mapping 配置, 来匹配到请求Heades中的url信息, 将其转发到对应Servlet配置中的Servlet实现类完成请求接收.

2. Servlet 的初始化渗盯咐是由Web.xml 中的 loadOnStartup 配置控制的. 

当 loadOnStartup <0 或者不写时, 接收到第一次请求的时候实例化.

当 loadOnStartup >0 web容器启动的时候做实例化处理,顺序是由小到大,正整数小的先被实例化 

当 loadOnStartup = 0 web容器启动的时候做实例化处理,相当于是最大整数,因此web容器启动时,最后被实例化

3. 通过DispatcherServlet 的执行流程来看它时如何处理请求的

希望对您有所帮助!~

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务判盯器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加仔冲基载,念谨该Web服务器必须包含支持Servlet的Java虚拟机


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12210423.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存