JSP的体系结构

以下内容引用自http://wiki.jikexueyuan.com/project/jsp/architecture.html

Web服务器需要一个JSP引擎,即处理JSP页面的容器。JSP容器负责为JSP页面拦截请求。

JSP容器适用于Web服务器,来提供JSP运行时环境和其他服务的需求。它知道如何理解JSP的部分特殊元素。

以下图表显示了JSP容器的位置以及在一个Web应用程序中的JSP文件。

JSP处理

下面的步骤解释了web服务器如何使用JSP创建Web页面:

  • 作为正常的页面,浏览器发送一个HTTP请求到Web服务器。
  • Web服务器承认一个JSP页面的HTTP请求,并将其转发给一个JSP引擎。这是通过使用URL或JSP页面实现的,该JSP页面是以.jsp结尾而不是以.html结尾的。
  • JSP引擎从磁盘加载JSP页面并将其转换为一个Servlet的内容。这种转换是非常简单的,所有模板文本转换为println()语句,所有JSP元素转换为Java代码实现页面的相应的动态行为。
  • JSP引擎编译Servlet到一个可执行的类中,并将原始请求转发给一个Servlet引擎。
  • 调用Servlet引擎的Web服务器的一部分加载Servlet类并执行它。执行期间,Servlet产生一个HTML格式的输出,Servlet引擎将该输出传递到HTTP响应内的Web服务器中。
  • Web服务器将HTTP响应以静态HTML内容的形式转发到浏览器中。
  • 最后Web浏览器处理HTTP响应中的动态生成的HTML页面,就好像它是一个静态页面。

上述所有步骤如下图所示:

通常,JSP引擎检查JSP文件的Servlet是否已存在,JSP的修改日期是否比Servlet的过时。如果JSP的修改日期比其生成的Servlet的修改日期过时,那么JSP容器假设JSP修改日期没有改变,且生成的Servlet的修改日期仍然与JSP的内容相匹配。与其他脚本语言(比如 PHP)相比,这个过程更有效率,因此更加快速。

所以在某种程度上来说,一个JSP页面只是用另一种方式来写Servlet,而不需要成为一个Java编程奇才。除了翻译阶段,处理JS 页面完全就像处理一个普通的Servlet一样。

时间: 2024-10-24 06:31:42

JSP的体系结构的相关文章

jsp的优劣势与php的比较

最近在学Web编程,在选择编程语言上出现了纠结.学校里教的是jsp语言但是目前市场上占据大比重的是php语言开发出来的产品,就在不知如何是好的情况下,本人看到了这样一篇比较系统的对比分析的文章. 一 jsp的 优势 与劣势 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性. 作为Java平台的一部分,JSP拥有Java编程语言"一次编写,各处运行"的特点.随

WEB开发:Java与Php对比

比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行比较: 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发.而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法.所以java不如php好学. Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行.Java的Web开发首先最容易

Java和PHP在Web开发方面的比较

比较 PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发.而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法.所以java不如php好学. Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行.Java的Web开发首先最

开篇--Java Web基础知识

本篇主要是博客的开篇,是一些很基础的知识,我写博客的目的很简单.主要是供自己学习使用,督促自己学习,希望自己能坚持下来. 当前三大主流的Web动态网页技术是PHP(Personal Home Page Tools).ASP(Active Server Pages)和JSP(Java Server Pages). JSP工作原理 3.JSP的体系结构 ①Model 1 ②Model 2(即MVC) 4.Struts2工作原理 主要过程:客户请求服务器-->请求被提交到一系列的过滤器或拦截器(最后到

开发语言大PK:php和Java哪个更好?

Java通过jdbc来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库.访问数据库的接口比较统一. PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强.例如:用java开发的web应用从MySQL数据库转到Oracle数据库只需要做很少的修改.而php则需要做大量的修改工作. 2语言比较 php是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和C语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发.而java需要先学好java的

php和java的一些比较

现在市场上的电子商务软件基本上可归结为两大阵营,即PHP阵营和Java阵营.但对接触电子商务不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异.其实,PHP+ MySQL高效的开发.品质优良的特性,已经让风靡大学校园的Java变的越来越难堪.而作为PHP+ MySQL为什么在历史的进程中,后来居上,独领风骚呢?为什么基于Java架构的的电子商务除了高额的开发成本,而变的前途暗淡呢?首先得明白PHP和Java之间的差异才行.1. 出身Java本来的设计初衷是

Java和PHP在Web开发方面的八大对比

转载自:http://safe.it168.com/a2012/0605/1356/000001356488.shtml 比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发.而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法.所以java

php与java的差异

http://zhidao.baidu.com/link?url=kd-eulWPoygRlMKeBxdCn3QA4bLJXYVSc_mUGPgWg05az8RIqu3r1GmRnmXZ4UMaR6yMjaoRvlRKzHuOQKRlF_ 比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较:一. 语言比较PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和c语言比较象,所以学过c语言的程序员可以很快的

(转载)Java和PHP在Web网站开发方面的八大对比

Java和PHP在Web网站开发方面的八大对比 时间:2013-07-10 10:23 来源:北大青鸟武汉宏鹏鲁广校区 导读:北大青鸟鲁广校区总结开发经验:比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发. 以下就几个主要方面进行的比较: 一. 语言比较 PHP是解释执行的服务 北大青鸟鲁广校区总结开发经验:比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发. 以下就几个主要方面进行的比较: 一. 语言比较 P