我阅读了很多文章来理解Java Servlet,但是没有成功。
您可以用简单易懂的语言给我介绍一下Java Servlet吗?什么是servlet?有哪些优点?
我不理解服务器端编程语言(PHP、ASP)和Servlet之间的区别。
我阅读了很多文章来理解Java Servlet,但是没有成功。
您可以用简单易懂的语言给我介绍一下Java Servlet吗?什么是servlet?有哪些优点?
我不理解服务器端编程语言(PHP、ASP)和Servlet之间的区别。
Servlet在本质上是一个Java类,可以处理HTTP请求。
通常,像Tomcat这样的容器会处理读取HTTP请求和响应的内部细节。这样作为服务器端开发人员,您可以专注于如何处理HTTP请求和响应,而不必去处理与网络等有关的代码。容器将处理诸如将整个内容包装在HTTP响应对象中并发送到客户端(例如浏览器)等事项。
现在下一个逻辑问题是谁决定容器应该做什么呢?答案是:至少在Java世界中,它是由规范指导的(请注意,我没有使用“控制”这个词)。例如,Servlet规范(参见资源2)规定了Servlet必须能够做什么。因此,如果您可以为规范编写实现,那么恭喜您,您刚刚创建了一个容器(从技术上讲,像Tomcat这样的容器还实现其他规范,并执行一些棘手的操作,如自定义类加载器等,但您已经明白了该怎么做)。
假设您有一个容器,那么您的Servlet就是Java类,其生命周期将由容器维护,但对传入的HTTP请求的反应将由您决定。您可以通过在预定义方法(如init(),doGet(),doPost()等)中编写您想要执行的操作来实现这一点。请参考资源3。
这里有一个有趣的练习。创建一个简单的Servlet,就像在Resource 3中一样,并在其构造方法(是的,您可以拥有Servlet的构造方法),init(),doGet(),doPost()方法中编写一些System.out.println()语句,然后在Tomcat中运行Servlet。查看控制台日志和Tomcat日志。
资源
除上述之外,显而易见的是...
对于很多人来说,这是非常明显的,但对于习惯编写只运行一次的应用程序的人来说,一个servlet大部分时间都在闲置状态...等待接收请求,并对其做出响应。因此,servlet有一个生命周期:它被初始化后等待着,响应任何被抛向它的东西,然后销毁。这意味着它必须由其他东西(框架)创建(以及稍后销毁),在自己的线程或进程中运行,并且除非被要求,否则什么也不做。另外,必须通过某种方式实现机制,使得这个“实体”能够“监听”请求。
我建议阅读关于线程、进程和套接字的文章将会使这些更清晰:这与基本的“hello world”应用程序的功能相当不同。
可以认为“服务器”或“servlet”的术语有点过头了。更合理和简单的名称可能是“响应器”。选择“服务器”一词的原因是历史性的:最早的这样的安排是“文件服务器”,多个用户/客户端终端会从中央计算机请求特定文件,然后像书或一盘鱼和薯条一样将该文件“提供”出来。
Web应用程序中的每个servlet应该在此文件中有一个条目
如何“安装”Servlet? * 好吧,servlet对象从库javax.servlet.*继承。可以使用Tomcat和Spring来利用这些对象以适应用例。
参考- 在1.5x上观看- https://www.youtube.com/watch?v=tkFRGdUgCsE。这个视频有一个很棒的解释。
Servlet是用于在Web应用程序中创建动态网页的服务器端技术。实际上,Servlet是一个API,包含一组类和接口,具有某些功能。当我们使用Servlet API时,可以使用Servlet类和接口的预定义功能。
Servlet的生命周期:
Web容器维护Servlet实例的生命周期。
1. Servlet类被加载
2. 创建Servlet实例
3. 调用init()方法
4. 调用service()方法
5. 调用destroy()方法
当客户端(浏览器)发出请求时,Web容器会检查Servlet是否正在运行,如果是,则调用service()方法并将响应返回给浏览器。
当Servlet未运行时,Web容器遵循以下步骤:
1. 类加载器加载Servlet类
2. 实例化Servlet
3. 初始化Servlet
4. 调用service()方法
在服务请求后,Web容器等待特定时间,在此期间如果请求到来,则仅调用service()方法,否则将调用destroy()方法。
@WebServlet("/chat")
public class ChatBox extends HttpServlet {
/chat
URL 时,你的 ChatBox 类将被执行。如果您是初学者,我认为这个教程可以给您关于Servlet是什么...的基本概念。
以下是来自给定链接的一些有价值的要点。
Servlet技术用于创建位于服务器端并生成动态Web页面的Web应用程序。
Servlet可以根据上下文以多种方式描述。
Servlet是一个Java类,用于响应HTTP请求并生成HTTP响应......当我们使用HTML制作页面时,它将成为静态页面,因此为了使其动态,我们使用SERVLET {简单地说,人们可以理解} 使用JSP来克服使用servlet,它在自身中使用代码和HTML标记。