什么是Java Servlet?

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

你能简单介绍一下java servlets(用简单的语言)。 像什么是servlet? 有什么优点? 而这一切。

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


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

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


一个servlet的核心是一个java类; 它可以处理HTTP请求。 通常,通过线缆读取HTTP请求和响应的内部本质由像Tomcat这样的容器来处理。 这样做是为了使作为服务器端开发人员可以专注于如何处理HTTP请求和响应,而不必处理处理网络等的代码。容器将处理诸如将整个事物包装在HTTP响应对象并将其发送到客户端(比如浏览器)。

现在要问的下一个逻辑问题是谁决定容器应该做什么? 答案是, 至少在Java世界中它是由规范引导的(注意我没有使用控制的字)。 例如,Servlet规范(请参阅资源2)规定了servlet必须能够执行的操作。 所以如果你可以为规范编写一个实现,那么恭喜你刚刚创建了一个容器(技术上像Tomcat这样的容器也实现了其他规范,并执行了一些棘手的东西,比如自定义类加载器等,但你明白了)。

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

这是一个有趣的练习。 在Resource 3中创建一个简单的Servlet,并在它的构造方法(是的,你可以有一个servlet的构造函数),init(),doGet(),doPost()方法中写入几个System.out.println tomcat中的servlet。 查看控制台日志和tomcat日志。

希望这有助于快乐的学习。

资源

  • 看看HTTP servlet在这里看起来如何(Tomcat示例)。

  • Servlet规范。

  • 简单的Servlet例子。

  • 开始在线阅读本书/ PDF它还为您提供整本书的下载。 可能会有所帮助。 如果您刚开始使用servlet,那么与servlet API一起阅读材料可能是一个好主意。 这是一个较慢的学习过程,但是在清楚了解基础知识方面更有帮助。


  • 除了上面的内容,只是为了指出bleedin'明显......

    对很多人来说,这是显而易见的,但对于那些习惯于编写刚刚运行然后结束的应用程序的人来说:一个servlet大部分时间都在忙于无所事事......等待发送一些东西,一个请求,然后对它做出响应。 出于这个原因,一个servlet有一个生命周期:它被初始化,然后等待,响应抛出的任何东西,然后被销毁。 这意味着它必须由其他东西(框架)创建(并且随后被销毁),它在自己的线程或进程中运行,并且除非被要求才会执行任何操作。 而且,通过某种方式,必须实施一种机制,让这个“实体”可以“聆听”请求。

    我建议阅读关于线程,进程和套接字的知识将会对此有所了解:它与基本的“hello world”应用程序的功能完全不同。

    可以争辩说,术语“服务器”或“servlet”有点矫枉过正。 一个更理性和更简单的名字可能是“回应者”。

    链接地址: http://www.djcxy.com/p/55003.html

    上一篇: What is Java Servlet?

    下一篇: Tuning JVM parameters to avoid java.lang.OutOfMemoryError: PermGen space