zoukankan      html  css  js  c++  java
  • 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一样。

  • 相关阅读:
    2.Android之按钮Button和编辑框EditText学习
    《DSP using MATLAB》Problem 3.8
    《DSP using MATLAB》Problem 3.7
    《DSP using MATLAB》Problem 3.6
    《DSP using MATLAB》Problem 3.5
    《DSP using MATLAB》Problem 3.4
    《DSP using MATLAB》Problem 3.3
    《DSP using MATLAB》Problem 3.2
    《DSP using MATLAB》Problem 3.1
    《DSP using MATLAB》Problem 2.20
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6943121.html
Copyright © 2011-2022 走看看