开发一个servlet所需要的步骤 servlet可以接收请求和响应数据的原理是什么?

[更新]
·
·
分类:互联网
4087 阅读

开发一个servlet所需要的步骤

servlet可以接收请求和响应数据的原理是什么?

servlet可以接收请求和响应数据的原理是什么?

原理说明
架构
让我们了解客户端-服务器架构。
用户将HTTP请求发送到Web服务器;服务器具有包含Servlet的Web容器,该容器从数据库收集数据并创建响应;Servlet创建的响应通过HTTP响应发送到客户端浏览器。不过问题是,如何将Servlet的响应转换为HTTP响应格式?由于Web服务器仅在HTTP协议上工作,因此Web容器会处理从Servlet响应到HTTP响应的这种转换。
Web容器
Web容器也称为Servlet容器或Servlet引擎,它为Java EE(j2ee)应用程序提供了运行时环境,客户端/用户只能从服务器请求静态网页。如果用户想按输入读取网页,则在Java中使用Web容器。因此,它实现了Servlet API和处理HTTP请求所需的服务。
Web容器通过调用Servlet类的service()方法来初始化与请求的URL匹配的Servlet;在Web容器协议内的单独线程中处理为给定HTTP请求调用的service()方法。
用户将HTTP请求发送到Web服务器;Web服务器将请求转发到Web容器;Web容器以请求对象的形式将请求转发到Servlet;Servlet构建响应对象并将其发送回Web容器;Web容器将响应对象转换为等效的HTTP响应,并将其发送到Web服务器;Web服务器通过HTTP响应将响应发送回客户端。
生命周期
Servlet生命周期包含的方法涵盖了从创建到销毁的整个过程。以下是生命周期步骤:
init() 仅被调用一次。仅在创建Servlet时调用它,因此,它用于一次性初始化。通常,在用户首次调用与该Servlet相对应的URL时创建Servlet,但是你也可以指定在首次启动服务器时应加载哪个Servlet;service() 方法是执行实际任务的主要方法。 Web容器(Servlet容器)调用service()方法来处理来自客户端的请求。每当服务器收到对Servlet的请求时,Web容器就会生成一个新线程并调用service()。此方法检查HTTP请求类型(GET、POST、PUT、DELETE等),并在适当时调用doGet、doPost、doPut、doDelete等方法;在Servlet的生命周期结束时,只会调用一次destroy() 方法。此方法使Servlet有机会关闭数据库连接,暂停后台线程并执行其他此类清理任务。执行destroy() 方法后,将Servlet对象标记为可用于垃圾回收;最后,Servlet对象是由JVM的垃圾收集器收集的垃圾。
如何协同工作?
首先,到达服务器的并发HTTP请求被转发到Web容器;Web容器在调用service() 方法之前启动Servlet;然后,Web容器通过产生多个线程来处理多个请求,每个线程执行该Servlet单个实例的service() 方法。

servlet,是一种开发语言吗?

servlet不是开发语言。
servlet是用Java语言写的服务器端程序,它可以生成动态的web网页,主要运行在服务器端并由服务器去执行并调用,另外它还具有强大的事务处理能力。
Servlet是使用Java语言编写的服务器端程序,它可以跟JSP一样生成动态的WEB网页,Servlet主要是运行在服务器端,并由服务器执行调用,是一种按照Servlet标准开发的类。可以根据用户提交的请求,servlet程序在应用服务器端运行后将结果或相关信息返回给客户端浏览器。而且它具有强大的事务处理能力。