前言-1-Servlet JSP应用架构
前言 1Servlet/JSP应用架构
Servlet
是一个Java
程序,一个Servlet
应用有一个或多个Servlet
程序。JSP
页面会被转换和编译成Servlet
程序。Servlet
应用无法独立运行,必须运行在Servlet
容器中。Servlet
容器将用户的请求传递给Servlet
应用,并将Servlet
应用生成的结果返回给用户。由于大部分Servlet
应用都包含多个 JSP
页面,因此更准确地说是“Servlet/JSP
应用”。Web
用户通过Web
浏览器例如IE
、Mozilla Firefox
或者谷歌Chrome
来访问Servlet
应用。通常,Web
浏览器又叫Web
客户端。Web
服务器和Web
客户端间通过HTTP
协议通信, 因此**Web
服务器也叫HTTP
服务器**。下面会详细讨论 HTTP
协议。
Servlet/JSP
容器是一个可以同时处理Servlet
和静态内容的Web
容器。过去,由于通常认为HTTP
服务器比 Servlet/JSP
容器更加可靠,因此人们习惯将Servlet/JSP
容器作为HTTP
服务器如Apache HTTP
服务器的一个模块。这种模式下,HTTP
服务器用来处理静态资源,而 Servlet/JSP
容器则负责生成动态内容。如今, Servlet/JSP
容器更加成熟可靠,并被广泛地独立部署。 Apache Tomcat
和Jetty
是当前最流行的Servlet/JSP
容器, 并且它们是免费而且开源的。你可以访问 http://tomcat.apache.org 以及http://www.eclipse.org/jetty 下载。Servlet
和JSP
只是Java
企业版中众多技术中的两个,其他Java EE
技术还有Java
消息服务,企业Java
对象、JavaServer Faces
以及Java
持久化等,完整的Java EE
技术列表可以访问如下地址:
http://www.oracle.com/technetwork/java/javaee/tech/index.html
要运行Java EE
应用,需要一个Java EE
容器,例如 GlassFish
、JBoss
、Oracle Weblogic
或者IBM WebSphere
。诚然,我们可以将一个Servlet/JSP
应用部署到一个Java EE
容器上,但一个Servlet/JSP
容器就已经满足需要了,并且更加轻量。当然,Tomcat
和Jetty
不是 Java EE
容器,因此无法运行EJB
或JMS
技术。