“servlet”指的是什么?

 我来答
尚学堂java学院
2021-01-07 · 百度认证:北京尚学堂科技有限公司官方账号
尚学堂java学院
向TA提问
展开全部

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 的执行流程来看它时如何处理请求的

希望对您有所帮助!~

晴晴知识加油站
高能答主

推荐于2019-11-08 · 让梦想飞扬,让生命闪光。
晴晴知识加油站
采纳数:3595 获赞数:661218

向TA提问 私信TA
展开全部

JSP页面。

一、从单词本身来看,servlet可以拆分为“server缩写+英语后缀-let”,server当然指的是服务器,英语后缀-let表示“小”,整个单词就是“小服务”。

二、servlet的全称是java server applet,那个applet是“application缩写+英语后缀-let”,表示“小应用”,整个全称就是“java服务器端小应用”。

三、servlet的本质是运行在服务器端的java程序,相对的运行在客户端的java程序就叫applet;至于为什么servlet的全称中会有个applet的单词,我个人感觉这是因为先有客户端applet的概念,后来在客户端applet的基础上衍生封装打包啥的产生了服务器端servlet的概念。

四、servlet是为了解决什么问题而产生的,经查资料,这个最开始的据今n年前,我们写的前端.html文件为:html标记+大量的业务处理逻辑,这种html叫动态网页。

五、在产生servlet之前人们也开发了其他技术来处理大量的业务逻辑,叫“公共网管接口--CGI”,后来因为这种技术的各种缺点被弃用然后被servlet替代。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2020-12-18 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式