`
wusuoya
  • 浏览: 641385 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

Tomcat中JSP引擎工作原理

    博客分类:
  • web
 
阅读更多

JSP运行环境

执行JSP代码需要在服务器上安装JSP引擎,比较常见的引擎有WebLogic和Tomcat。把这些支持JSP的web服务器配置好后。就可以再客户端通过浏览器来访问JSP页面了。默认端口一般是7001.

JSP生命周期

JSP处理请求的方法就是把这些请求都统一看做Servlet。由于这个原因,JSP的很多功能和生命周期,都由Java Servlet技术标准定义的。这种限制,在动态内容方面更加明显。所以学习JSP的时候,需要温习Servlet的内容和标准。

JSP网络应用服务器框架:

在符合J2EE规范的服务器构建起来之后,就可以编写JSP页面了,在HTML页面中嵌入JSP脚本,该页面就成为JSP页面了。JSP脚本用特定的标记 括起来,如<%...%>,或者<JSP>…</JSP>。JSP的工作流程如下:当其读到HTML的代码的时候, 就直接输出到客户端,而如果读到嵌入JSP脚本的时候,就需要对这些脚本进行另外的翻译和处理,得到输出之后再输出到客户端。

下面通过一个简单页面编写来了解JSP网络应用的框架:

1.JSP客户端交互

JSP的大部分工作就是与客户端进行交互。客户端一般指的是浏览器,它们与置于服务器端得JSP页面进行交互。JSP脚本中所有的Java语句都是在服务 器执行,服务器接受客户端提交的请求,通过一定的处理之后,将结果返回给客户端,客户端得到的仅仅是HTML代码。下面是一个JSP的 HelloWorld程序代码:

  1. <html>
  2. <head>
  3. <title>HelloWorld for JSP</title>
  4. </head>
  5. <body>
  6. <h1>HelloWord for JSP</h1>
  7. <%out.println("<h3>Hello World!</h3>");%>
  8. </body>
  9. </html>

2.交互过程的流程

在一般的客户端和服务器端的交互中,是用HTTP协议,客户端通过下面4个步骤也服务器段进行交互:

(1)客户端和服务器端建立连接

(2)发送客户端请求

(3)服务器返回应答给客户

(4)客户端关闭连接

所有的请求都是由客户端主动发出的,而服务器一直出于被动的监听状态。用户在浏览器键入要访问的地址,按回车键确 认后,浏览器开始与服务器建立连接,从这时开始,就开始了一次交互过程。浏览器通过一段时间的等待后,从服务器得到响应,并且把相应的信息以HTML方式 呈现给用户。用户在浏览网站的过程中,实际上包含了很多这样的交互应答过程。在客户端与JSP页面的交互过程中,只有服务器接收请求和返回应答的动作可能 不一样,其他与上面过程基本一致。基本情况如下:

(1)服务器在收到一个请求后首先要分析这个请求,如果请求的页面只是一般的HTML页面,服务器就直接读出HTML页面并返回给客户端

(2)如果客户端请求的是JSP页面,服务器调用JSP引擎翻译处理所请求的JSP页面,并将翻译和处理之后的HTML返回给客户端

(3)如果遇到JavaBeans组件,JSP引擎将调用相应的JavaBeans组件,得到JavaBeans的返回值,最后返回给JSP页面

3.JSP引擎的工作原理

当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:

(1)将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序

(2)JSP引擎调用java编译器对这个Servlet进行编译,得到可执行文件class

(3)JSP引擎调用java虚拟机解释执行class文件,生成向客户端发送的应答,然后发送给客户端

以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。当JSP引擎接到一个客户端的访问请求时,首先判断请求的JSP页面是否比对应的Servlet新,如果新,对应的JSP需要重新编译。

4.对请求信息的处理

在大部分的交互过程中,一个JSP页面首先对用户提出的请求进行分析,然后从请求中得到有用的数据,比如接收用户提交的数据或者请求的方法,然后进行相应的处理。而这就需要了解得到传入参数的方法和得到用户其他信息的方法。

(1)得到传入参数的方法

在交互过程中,服务器必须从客户端得到一些数据,来帮助处理过程的进行。这些数据包括用户身份验证数据(如用户名、密码等)以及其他中要信息。而这些数据 的载体,就是用户提交的请求。请求的组成主要有两部分,一是头信息。头信息包含了以下信息:请求的方法(GET和POST)、请求的URL和浏览器信息。 其他信息包含了一些数据信息。

首先要了解的是GET方法发送请求时,这种方法是客户端用来向服务器段请求信息的,所以在请求中不包含信息体。用户只能把请求的内容作为参数附加在URL后面进行发送,参数之间用“&”符号隔开,如代码:一个典型的GET请求的表单get.html

  1. <html>
  2. <head>
  3. <title>Get</title>
  4. </head>
  5. <body>
  6. <h1>Get Method</h1>
  7. <form action = "submit.jsp" method = "GET">
  8. username<input name = "uername" value = "aaa"><br>
  9. password<inpput type = password name = "password" value = "111111"><br>
  10. <input type = submit value = "submit">
  11. </form>
  12. </body>
  13. </html>

(代码中有一个表单,表单在定义的时候,定义了属性method=“GET”,这表明表单提交的方法是GET。这个表单向服务器提交两个参数,其中一个是username,缺省值为aaa,另外一个是password,其缺省值是111111。)

这个页面只是得到了输入数据,只有submit.JSP才能实现提交这个页面的数据。这就是需要用到JSP了,代码如下:submit.JSP

  1. <html>
  2. <head>
  3. <title>submit</title>
  4. </head>
  5. <body>
  6. <h1>submit</h1>
  7. request method:<%=request.getMethod() %><br>
  8. user name:<%=request.getParameter("user") %><br>
  9. password:<%=request.getParameter("password") %><br>
  10. </body>
  11. </html>

在这个JSP页面中是用了JSP的内置对象request的两个方法,一个是getMethod,用来获取当前请求的类型,另一个是 getParameter,用来获取指定参数的值。在get.html中单击submit按钮,就可以显示表单请求方法,用户名以及密码等信息。

(2)得到其他信息的方法

得到非用户输入的其他参数信息,就需要用到其他的方法。如下所示是一个得到客户端信息的简单程序。根据这个程序我们可以初步了解如何得到客户端信息的大致思路。代码如下:

  1. <html>
  2. <head>
  3. <title>得到消息</title>
  4. </head>
  5. <body>
  6. <h1>请求中所包含的URL</h1><br>
  7. <%=request.getQueryString()%><br>
  8. </body>
  9. </html>
分享到:
评论

相关推荐

    Tomcat工作原理祥解

    Tomcat的诞生源于Apache Group对JSP引擎的需求,它最初是为支持JSP和Servlet而设计的。随着时间的推移,Tomcat逐渐成为遵循Servlet和JSP最新规范的首选平台,获得了业界的广泛认可。 **二、Tomcat目录结构** ...

    tomcat工作原理深入解析

    Tomcat工作原理深入解析 Tomcat作为一款广泛应用的开源Java Servlet容器,它的内部架构和工作流程对于理解Web应用的运行至关重要。本文将深入探讨Tomcat的主要组成部分,包括Server、Service、Connector、Engine、...

    了解JSP工作原理.ppt

    1. 客户端向服务器发出请求要访问某个JSP文件时,服务器会在磁盘上查找到该JSP文件,通过JSP引擎解释该文件代码,生成一个同名的Java文件,这个文件就是Servlet。 2. 然后将该文件编译生成Java Class字节码文件,它...

    tomcat 工作原理

    2. **Jasper**:Jasper是Tomcat中的JSP引擎,负责编译JSP页面为Java类,并执行这些类。 3. ** Coyote**:负责处理HTTP协议,是Tomcat的网络通信模块,它接收HTTP请求并发送响应。 4. **Connector**:连接器,用于...

    Tomcat组成及工作原理借鉴.pdf

    Tomcat 组成及工作原理借鉴 Tomcat 是一个开源的 Web 服务器软件,由 Apache 软件基金会开发和维护。它支持 Servlet 和 JSP 规范,提供了一个强大和灵活的 Web 应用程序容器。 一、 Tomcat 背景 自从 JSP 发布...

    How Tomcat Works(tomcat工作原理)

    **Tomcat工作原理详解** Apache Tomcat是一款广泛使用的开源Java Servlet容器,它是Java EE应用程序运行的基础,特别是对于那些基于Web的应用。Tomcat以其轻量级、高效和易于配置的特性,成为了开发和部署Java Web...

    tomcat中的工作流完整demo(JBPM引擎)

    总的来说,这个Demo为学习和理解如何在Tomcat中集成和使用JBPM提供了实践平台,有助于开发者掌握工作流管理系统的原理和实践操作。通过这个项目,开发者可以深入理解如何定义和执行业务流程,以及如何在Java Web环境...

    Tomcat 架构 原理

    Jasper是Tomcat中的JSP引擎,负责将JSP页面转换为Servlet类,从而提高JSP的执行效率。 三、Tomcat启动流程 当Tomcat启动时,会经历以下几个关键步骤: 1. **初始化Catalina组件**:读取配置文件,如server.xml,...

    Tomcat原理与实战

    Tomcat的核心设计基于模块化,主要由连接器(Connector)和容器(Container)两大部分组成,这两部分共同构成了Tomcat的核心工作原理。 **1. 原理** - **概述Tomcat** Tomcat作为Servlet容器,它的主要任务是接收...

    jsp运行原理

    例如,在Apache Tomcat中,JSP引擎就是`org.apache.jasper.servlet.JspServlet`。 - **Tomcat中的编译文件存放位置**:编译后的Java源文件和.class文件通常存储在`[TOMCAT_HOME]\work\Catalina\[主机名,如localhost...

    tomcat工作原理-组件

    **Tomcat工作原理详解——组件解析** Tomcat作为Apache软件基金会的开源项目,是Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)的实现,是Web应用程序服务器的首选之一。深入理解Tomcat的...

    TOMCAT原理详解及请求过程

    为了更好地理解Tomcat的工作原理,我们需要了解它的目录结构: 1. **bin**:存放启动和关闭Tomcat的脚本文件。 2. **conf**:存放各种配置文件,例如`server.xml`和`web.xml`。 3. **docs**:存放Tomcat的官方文档...

    如何让tomcat自动指向自己工作空间

    在Tomcat中,工作目录通常被称为“工作目录”或“work directory”,用于存放应用运行时生成的临时文件和编译后的JSP文件。默认情况下,Tomcat会在每个Host(虚拟主机)配置下有一个工作目录,位于`$CATALINA_HOME/...

    jsp搜索引擎

    综上所述,"jsp搜索引擎"这个项目涵盖了从基础的JSP语法到复杂的搜索引擎技术和Web应用开发的多个方面,对于学习者来说,这是一个很好的实践平台,可以深入理解JSP和搜索引擎工作原理,同时锻炼前后端开发和优化能力...

    Tomcat原理解析

    ### Tomcat原理解析 #### 一、Tomcat加载与启动流程详解 ##### 加载流程概述 Apache Tomcat是一款开源的轻量级Servlet容器,它实现了Servlet和JavaServer Pages(JSP)技术规范,能够作为Web服务器来处理HTTP请求...

    how tomcat work 中文版

    "how tomcat work 中文版" 这个标题和描述重复多次,表明我们关注的主题是关于Tomcat服务器的工作原理的中文解释。Tomcat是一款开源的、基于Java Servlet和JavaServer Pages(JSP)技术的Web应用服务器,由Apache...

    tomcat工作原理

    ### Tomcat工作原理详解 #### 一、引言 Tomcat作为一款广泛使用的Java应用服务器,不仅免费且开源,这使得它成为了学习Java Web开发的理想平台。Tomcat的核心功能在于其能够有效地处理HTTP请求并将它们转发给合适...

Global site tag (gtag.js) - Google Analytics