我读了很多文章来理解Java servlet,但我没有成功。

你能简单介绍一下Java servlet吗(用简单的语言)?什么是servlet?它的优点是什么?

我不能理解服务器端编程语言(PHP, ASP)和servlet之间的区别。


当前回答

您刚刚得到了一个正常servlet的答案。但是,我想与您分享一些关于Servlet 3.0的内容

What is first a Servlet? A servlet is a Web component that is managed by a container and generates dynamic content. Servlets are Java classes that are compiled to byte code that can be loaded dynamically into and run by a Java technology-enabled Web server or Servlet container. Servlet 3.0 is an update to the existing Servlet 2.5 specification. Servlet 3.0 required API of the Java Platform, Enterprise Edition 6. Servlet 3.0 is focussed on extensibility and web framework pluggability. Servlet 3.0 bring you up some extensions such as Ease of Development (EoD), Pluggability, Async Support and Security Enhancements Ease of Development You can declare Servlets, Filter, Listeners, Init Params, and almost everything can be configured by using annotations Pluggability You can create a sub-project or a module with a web-fragment.xml. It means that it allows to implement pluggable functional requirements independently. Async Support Servlet 3.0 provides the ability of asynchronous processing, for example: Waiting for a resource to become available, Generating response asynchronously. Security Enhancements Support for the authenticate, login and logout servlet security methods

我从Java Servlet教程中找到的

其他回答

除了以上,只是要指出流血的明显……

To many this is hyper obvious, but to someone used to writing apps which are just run and then end: a servlet spends most of its time hanging around doing nothing... waiting to be sent something, a request, and then responding to it. For this reason a servlet has a lifetime: it is initalised and then waits around, responding to anything thrown at it, and is then destroyed. Which implies that it has to be created (and later destroyed) by something else (a framework), that it runs in its own thread or process, and that it does nothing unless asked to. And also that, by some means or other, a mechanism must be implemented whereby this "entity" can "listen" for requests.

我建议阅读有关线程、进程和套接字的内容可以让你对此有所了解:这与一个基本的“hello world”应用程序的功能方式是完全不同的。

有人可能会说,术语“服务器”或“servlet”有点大材小用。一个更合理、更简单的名字可能是“responder”。选择术语“服务器”的原因是历史的:第一个这样的安排是“文件服务器”,多个用户/客户端终端将从中央机器请求特定的文件,然后该文件将像一本书或一盘炸鱼和薯条一样被“提供”。

Servlet是一个java类,用于响应HTTP请求并生成HTTP响应......当我们使用HTML创建页面时,它将是一个静态页面,因此为了使其动态,我们使用SERVLET{简单地说,人们可以理解}。 JSP克服了利用servlet的问题,它本身就使用了代码和HTML标记。

我认为servlet基本上是一个java类,充当HTTP请求和HTTP响应之间的中间路径。Servlet也用来使你的网页动态。例如,如果你想重定向到服务器上的另一个网页,那么你必须使用servlet。另一个重要的事情是servlet既可以在本地主机上运行,也可以在web浏览器上运行。

Servlet是web应用程序中用来创建动态网页的服务器端技术。servlet实际上是一个api,它由一组类和接口组成,具有一定的功能。当我们使用Servlet API时,我们可以使用Servlet类和接口的预定义功能。

Servlet的生命周期:

Web容器维护servlet实例的生命周期。

1。加载Servlet类

2 . 创建Servlet实例

3.Init()方法被调用

4所示。调用Service()方法

5 . 调用Destroy()方法

当客户端(浏览器)提出请求时,web-container检查servlet是否正在运行,如果是,则调用service()方法并向浏览器提供响应。

当servlet没有运行时,web-container遵循以下步骤。

1. Classloader装入servlet类

2. 实例化servlet

3.初始化servlet

4.调用service()方法

服务请求后,web-container等待特定的时间,在这段时间内,如果请求来了,那么它只调用service()方法,否则它调用destroy()方法。

Java servlet是处理和响应客户需求并实现servlet接口的服务器端Java程序模块。它有助于提高Web服务器的有用性,而开销、维护和支持可以忽略不计。

servlet充当客户和服务器之间的中介。由于servlet模块一直在服务器上运行,它们可以获取客户的需求并对其做出反应。servlet的Demand和reaction对象提供了一种有用的方法来处理HTTP请求并将内容信息发送回客户。

由于servlet是与Java方言协调的,因此它还具有Java的所有优点,例如,高可移动性、阶段自主权、安全性和Java数据库可用性。