首页

文章

什么是servlet?????

发布网友 发布时间:2022-03-25 20:27

我来回答

5个回答

懂视网 时间:2022-03-26 00:48

Servlet是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

  

  狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

  

  

热心网友 时间:2022-03-25 21:56

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

希望对您有所帮助!~

热心网友 时间:2022-03-25 23:14

JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。我来胡扯几句吧。简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。
从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。当然也可以更复杂。SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。就象前面那个朋友,把数据库处理信息放到JSP中,其实,它应该放在business layer中。
根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。
实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。
为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。
另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了。
综上所述,SERVLET是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,并且两层混杂。
所以,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。
可是,这不是说,学了SERVLET没用,实际上,你还是应该从SERVLET入门,再上JSP,再上JSP+BEAN。
强调的是:学了JSP,不会用JAVA BEAN并进行整合,等于没学。大家多花点力气在JSP+BEAN上。
在补充几句:
我们可以看到,当ASP+COM和JSP+BEAN都采用组件技术后,所有的组件都是先进行编译,并驻留内存,然后快速执行。所以,大家经常吹的SERVLET/JSP先编译驻内存后执行的速度优势就没有了。
反之,ASP+COM+IIS+NT紧密整合,应该会有较大的速度优势呈现。而且,ASP+COM+IIS+NT开发效率非常高,虽然BUG很多。
那么,为什么还用JSP+BEAN?因为JAVA实在前途远大。微软分拆后,操作系统将群雄并起,应用软件的开发商必定要找一个通用开发语言进行开发,JAVA一统天下的时机就到了。如果微软分拆顺利,从中分出的应用软件公司将成为JAVA的新领导者。目前的JAVA大头SUN和IBM都死气沉沉,令人失望。希望新公司能注入新活力。不过,新公司很有可能和旧SUN展开JAVA标准大战,双方各自制定标准,影响JAVA夸平台。
另外,现在的机器速度越来越快,JAVA的速度劣势很快就可以被克服。

热心网友 时间:2022-03-26 00:49

Servlet运行于Java-enabled
Web
Server中。Java
Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。
最早支持Servlet技术的是JavaSoft的Java
Web
Server。此后,一些其它的基于Java的Web
Server开始支持标准的Servlet
API。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:

热心网友 时间:2022-03-26 02:57

servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。

javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。

当实现一个通用的服务时,您可以使用或扩展由Java Servlet API提供的GenericServlet类。HttpServlet类提供了一些方法,诸如doGet和doPost,以用于处理特定于HTTP的服务。
2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 食品生产许可证编号开头为“ G”。 库存过期香精 猎狐点卡平台经营范围 电影代理靠谱吗 兄弟三人,有什么好的QQ网名 租赁合同书范本简单版 servlet是什么 a87680和A12仿生处理器哪个好? 手机参数对比 iPad Air3里的A12跟iPhone里的一样吗? 苹果a12和a11性能差距 a11和a12差别大吗,有什么区别? 苹果A10和A12芯片有什么区别? PTXBootSvc.exe是什么 自然人税收管理系统登入请求参数非法是什么原因 ‭电脑老是出现yqzszxzx sydownload 是什么软件文件夹 网上个税申报时录入单位信息时输入纳税人识别号显示企业信息不存在或无需下发状态怎么回事?在纳税服务 河北国税网上申报系统,发送报表时说“河北CA相关控件未注册”是什么意思 如何关闭亿企助手,有个程序是yqzs.exe,每次开机都启动,烦死人 误删C盘一个文件,一直蹦出来这个对话框,连续不断的跳出来Unable to write to C:_问一问 servyoubgub是什么 自然人税收管理系统登录时显示“请求参数非法”如何处理?_问一问 有什么硬方法删除Servyou 如何用一台电脑给多家单位申报个税? C:\Servyou\nbgljktemp\updatetmp servlet是什么意思? 什么是servlet 什么是servlet?有什么作用 我很想知道,servlet到底是做什么的 怎么用? 什么是Servlet? servlet是什么意思? Servlet 是什么 servlet是什么? 究竟什么是servlet?它有什么作用? servlet有什么用? 学JAVA时,有个叫SERVLET是什么东西? 红圈通的定位怎么关闭,如果关闭了老板还能看到位置吗 红圈通在设置里关掉定位 老板还能查看到你的位置吗 如何更改红圈营销地理位置 怎样改红圈通的定位? 红圈通app怎么更改定位和轨迹? 红圈通是时时跟踪定位吗? 红圈通定位,怎么修改 红圈通怎么修改定位,照片,后台不会发现 红圈通退出登录了后台还能看到轨迹吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com