- 内容提要
- 作者简介
- 译者简介
- 前言
- HTTP
- Servlet 和 JSP
- 下载 Spring 或使用 STS 与 Maven/Gradle
- 手动下载 Spring
- 使用 STS 和 Maven/Gradle
- 下载 Spring 源码
- 本书内容简介
- 下载示例应用
- 第 1 章Spring 框架
- 第 2 章模型 2 和 MVC 模式
- 第 3 章Spring MVC 介绍
- 第 4 章基于注解的控制器
- 第 5 章数据绑定和表单标签库
- 第 6 章转换器和格式化
- 第 7 章验证器
- 第 8 章表达式语言
- 第 9 章JSTL
- 第 10 章国际化
- 第 11 章上传文件
- 第 12 章下载文件
- 第 13 章应用测试
- 附录 A Tomcat
- 附录 B Spring Tool Suite 和 Maven
- 附录 C Servlet
- 附录 D JavaServer Pages
- 附录 E 部署描述符
Servlet 和 JSP
Java Servlet 技术是 Java 体系中用于开发 Web 应用的底层技术。1996 年,Servlet 和 JSP 由 SUN 系统公司发布,以替代 CGI 技术,作为产生 Web 动态内容的标准。CGI 技术为每一个请求创建相应的进程,但是,创建进程会耗费大量的 CPU 周期,最终导致很难编写可伸缩的 CGI 程序。相对于 CGI 程序,一个 Servlet 则快多了,这是因为当一个 Servlet 为响应第一次请求而创建后,会驻留在内存中,以便响应后续请求。
从 Servlet 技术出现的那天起,人们开发了大量的 Web 框架来帮助程序员快速编写 Web 应用程序。这些开发框架让开发人员能更关注业务逻辑,减少编写“相似”的代码片段。尽管如此,开发人员依然需要去理解 Servlet 技术的基础概念。随后发布的 JavaServer Pages(JSP)技术,是用来帮助简化 Servlet 开发。尽管实践中会应用一些诸如 Spring MVC、Struct 2 或者 JSF 等强大的开发框架,但如果没有深入理解 Servlet 和 JSP 技术,则无法有效和高效地开发。Servlet 是运行在 Servlet 容器中的 Java 程序,而 Servlet 容器或 Servlet 引擎相当于一个 Web 服务器,但是可以产生动态内容,而不仅是静态资源。Servlet 当前的版本为 3.1,其规范定义可见 JSR (Java Specification Request)340(http://jcp.org/en/jsr/detail?id=340),基于 Java 标准版本 6 及以上版本。JSP 2.3 规范定义在 JSR 245(http://jcp.org/en/jsr/detail?id=245)。本书假定读者已经了解 Java 以及面向对象编程技术。对于 Java 新手,推荐阅读《Java 7:A Beginner’s Tutorial(fourth Edition)》。
一个 Servlet 是一个 Java 程序,一个 Servlet 应用包含了一个或多个 Servlet,一个 JSP 页面会被翻译并编译成一个 Servlet。
一个 Servlet 应用运行在一个 Servlet 容器中,它无法独立运行。Servlet 容器将来自用户的请求传递给 Servlet 应用,并将 Servlet 应用的响应返回给用户。由于大部分 Servlet 应用都会包含一些 JSP 界面,故称 Java Web 应用为“Servlet/JSP”应用会更恰当些。
Web 用户通过一个诸如 IE、火狐或者 Chrome 等 Web 浏览器来访问 Servlet 应用。Web 浏览器又称为 Web 客户端。图 1 展示了一个典型的 Servlet/JSP 应用架构。
图 1 Servlet/JSP 应用架构
Web 服务端和 Web 客户端基于 HTTP 通信。因此,Web 服务端往往也称为 HTTP 服务端。
一个 Servlet/JSP 容器是一个能处理 Servlet 以及静态资源的 Web 服务端。过去,由于 HTTP 服务器更加健壮,人们更愿意将 Servlet/JSP 容器作为 HTTP 服务器(如 Apache HTTP 服务器)的一个模块来运行,在这种场景下,Servlet/JSP 容器用来产生动态内容,而 HTTP 服务器处理静态资源。今天,Servlet/JSP 容器已经更加成熟,并且被广泛地独立部署。Apache Tomcat 和 Jetty 作为最流行的 Servlet/JSP 容器,免费而且开源。下载地址为 http://tomcat.apache.org 和 http://jetty.codehaus.org。
Servlet 和 JSP 仅是 Java 企业版众多技术之一,其他 Java 企业版技术包括 JMS、EJB、JSF 和 JPA 等。Java 企业版 7(当前最新版)完整的技术列表见 Http://www.oracle.com/technetwork/java/ javaee/tech/index.html。
运行一个 Java 企业版应用需要一个 Java 企业版容器,常见的容器有 GlassFish、JBoss、Oracle Weblogic 以及 IBM WebSphere。虽然可以将一个 Servlet/JSP 应用部署到 Java 企业版容器中,但一个 Servlet/JSP 容器其实就足够了,而且更加轻量级。Tomcat 和 Jetty 不是 Java 企业版容器,故它们不能运行 EJB 或 JMS。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论