什么是 Java Servlet?
我读了很多文章来理解Java servlet,但我没有成功。
你能不能简要介绍一下Java servlet(用简单的语言)。什么是 servlet?有哪些优势?
我无法理解服务器端编程语言(PHP,ASP)和servlet之间的区别。
我读了很多文章来理解Java servlet,但我没有成功。
你能不能简要介绍一下Java servlet(用简单的语言)。什么是 servlet?有哪些优势?
我无法理解服务器端编程语言(PHP,ASP)和servlet之间的区别。
servlet 只是一个响应特定类型网络请求的类 - 最常见的是 HTTP 请求。基本上,servlet通常用于实现Web应用程序 - 但是也有各种框架在servlets(例如Struts)之上运行,以提供比servlet提供的“这是一个HTTP请求,写入此HTTP响应”级别更高级别的抽象。
Servlet 在处理网络端的 servlet 容器中运行(例如,解析 HTTP 请求、连接处理等)。最著名的开源 servlet 容器之一是 Tomcat。
servlet的核心是java类;它可以处理HTTP请求。通常,通过网络读取HTTP请求和响应的内部细节由Tomcat等容器负责。这样做是为了作为服务器端开发人员,您可以专注于如何处理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 日志。
希望这有帮助,快乐学习。
资源