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

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

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


当前回答

如果你是初学者,我认为本教程可能会给出什么是Servlet的基本概念…

以下是一些有价值的观点。

利用Servlet技术创建web应用程序,该应用程序驻留在服务器端,生成动态网页。

Servlet可以根据上下文以多种方式描述。

Servlet是一种用于创建web应用程序的技术。 Servlet是一个API,它提供了许多接口和类,包括 文件。 Servlet是一个必须实现的接口,用于创建任何 servlet。 Servlet是一个扩展服务器和服务器功能的类 响应传入的请求。它可以对任何类型的 请求。 Servlet是部署在服务器上用于创建的web组件 动态网页。 参考:在这里。

其他回答

A servlet at its very core is a java class; which can handle HTTP requests. Typically the internal nitty-gritty of reading a HTTP request and response over the wire is taken care of by the containers like Tomcat. This is done so that as a server side developer you can focus on what to do with the HTTP request and responses and not bother about dealing with code that deals with networking etc. The container will take care of things like wrapping the whole thing in a HTTP response object and send it over to the client (say a browser).

Now the next logical question to ask is who decides what is a container supposed to do? And the answer is; In Java world at least It is guided (note I did not use the word controlled) by specifications. For example Servlet specifications (See resource 2) dictates what a servlet must be able to do. So if you can write an implementation for the specification, congratulations you just created a container (Technically containers like Tomcat also implement other specifications and do tricky stuff like custom class loaders etc but you get the idea).

假设您有一个容器,您的servlet现在是java类,其生命周期将由容器维护,但它们对传入HTTP请求的反应将由您决定。你可以通过在init()、doGet()、doPost()等预定义方法中编写你想要做的事情来做到这一点。看看资源3。

这里有一个有趣的练习。像资源3中那样创建一个简单的servlet,在它的构造函数方法(是的,你可以有一个servlet的构造函数)、init()、doGet()、doPost()方法中编写一些System.out.println()语句,并在tomcat中运行servlet。查看控制台日志和tomcat日志。

资源

看看这里的HTTP servlet (Tomcat示例)。 Servlet规范。 简单的Servlet示例。 开始在线阅读这本书/PDF 它还提供了整本书的下载。也许这会有帮助。 如果你刚刚开始使用servlet,那么阅读相关材料和servlet API是一个不错的主意。这是一个较慢的学习过程,但对弄清基本知识更有帮助。

servlet只是一个响应特定类型网络请求的类——最常见的是HTTP请求。基本上,servlet通常用于实现web应用程序——但也有各种框架在servlet之上运行(例如Struts),以提供比servlet提供的“这是一个HTTP请求,写入此HTTP响应”级别更高级别的抽象。

servlet运行在处理网络端(例如解析HTTP请求,连接处理等)的servlet容器中。Tomcat是最著名的开源servlet容器之一。

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()方法。

如果你是初学者,我认为本教程可能会给出什么是Servlet的基本概念…

以下是一些有价值的观点。

利用Servlet技术创建web应用程序,该应用程序驻留在服务器端,生成动态网页。

Servlet可以根据上下文以多种方式描述。

Servlet是一种用于创建web应用程序的技术。 Servlet是一个API,它提供了许多接口和类,包括 文件。 Servlet是一个必须实现的接口,用于创建任何 servlet。 Servlet是一个扩展服务器和服务器功能的类 响应传入的请求。它可以对任何类型的 请求。 Servlet是部署在服务器上用于创建的web组件 动态网页。 参考:在这里。

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

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

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