`
pengyeer
  • 浏览: 33088 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

JSP和servlet的运行原理探讨[转载]

阅读更多

JSP运行原理:当Web服务器上的JSP页面第一次被请求执行时,JSP引擎先将JSP页面文件转译成一个Java文件,即Servlet,Java Servlet是基于服务器端编程的API,用Java Servlet编写的Java程序称为servlet,servlet通过HTML与客户交互。服务器将前面转译成的Java文件编译成字节码文件,再执行这个字节码文件来响应客户的请求。当这个JSP页面再次被请求时,只要该JSP文件没有被改动,JSP引擎就直接调用已装载的Servlet。              


JSP和servlet的运行原理探讨

JSP是一个运行在服务器端的程序,而javascrīpt是运行在客户端的程序。两种程序是工作在不同的地方的,这一点不可以混淆。

Javascrīpt如何执行,服务器是不会知道的。
对于javascrīpt的代码在jsp页面中和普通的HTML代码意义上是完全一样的。大可不必理会,因为javascrīpt是在<sctipt>标记中的,而jsp是<%%>中的,而<%%>中的东西是不会到客户端去的。所以你可以利用JSP的规则来确定那些javascrīpt的片断输出到客户端。

<%page   language="java"%>在服务器端执行,<scrīpt   language=javascrīpt>客户端执行,由浏览器的Javascrīpt引擎解释执行.
  客户端用户填写 HTML 表单,发送请求。 将请求发送给 服务器端servlet(tomcat是servlet的容器)。 servlet 将该 HTTP 请求转换成一个 MQSeries 消息,并将其放入一个队列。 后端应用程序处理该消息,然后通过消息队列发回一个应答。 servlet 从队列中检索消息,并将其存放在一个 Java Bean 中。 然后 servlet 调用编译过的 Java Server Page(JSP) 并动态生成结果 HTML 页面。 JSP 从 Java Bean 检索出该页面需要的数据,将其合并到 HTML,然后将结果页面发送给客户端。
   JSP中的html代码和javascrīpt代码不会在服务器端执行,servlet 调用编译过的 Java Server Page(JSP) ,也就是运行由JSP编译成的class文件(运行的代码包括actionBean,formBean,一般的bean 和内嵌在JSP的Java代码).
apache是web服务器(不是客户端,大多数时候就是指代应用服务器,客户端一般都是web浏览器),tomcat是应用(java)服务器,它只是一个运行servlet的容器,可以认为是apache的扩展,但是可以独立于apache运行。一个Web运行程序(网站)可以有多个servlet,一般认为一个action就是一个servlet.
所谓Servlet是指运行在服务器端的Java小程序。用于响应客户端的请求。在默认情况下,Servlet采用一种无状态的请求-响应处理方式。Servlet代码的主要作用是为了增强Java服务器端的功能,它运行在服务器端,用于接收并且处理浏览器客户端发出的请求,该请求是通过配置文件web.xml的相关配置进行转发。也就是说Servlet是一个标准的Java类,它符合Java类的一般规则。和一般的Java类不同之处只是在于Servlet可以处理Http请求。
1.servlet是持久的。servlet只需Web服务器加载一次,后续又用到这个servlet,就不需要再加载。(所谓加载是指servlet加载进JVM运行)
2.servlet是与平台无关的。
3.servlet是可扩展的。

ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts framework中扮演的角色是中心控制器。它提供一个中心位置来处理全部的终端请求。控制器ActionServlet主要负责将HTTP的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器Action。

JSP 工作原理
所有JSP页面,在执行的时候都会被服务器端的JSP引擎转换为Servelet(.java),然后又由JSP引擎调用Java编译器,将Servelet(.java)编译为Class文件(.class),并由Java虚拟机(JVM)解释执行。下面验证这一点:
      有一个JSP页面Test.jsp,在浏览器地址栏中输入http://localhost:8080/Test.jsp,将会出现执行结果。同时在%CATALINA_HOME%\work\Catalina\localhost下多出两个文件:_Test_jsp.java和_Test_jsp.class,他们分别就是Servelet和Class文件。


分享到:
评论

相关推荐

    JSP+Servlet讲解MVC实现原理

    这里我们主要探讨的是如何利用JSP和Servlet实现Model-View-Controller(MVC)设计模式的原理。 **JSP(Java Server Pages)** 是一种用于创建动态网页的Java技术。它允许开发者在HTML页面中嵌入Java代码,使得网页...

    音乐网站(JSP+SERVLET).zip

    通过本项目的学习,开发者可以掌握JSP和Servlet的基础知识,理解Web应用的工作原理,以及如何利用这些技术构建动态网站。同时,实践中遇到的问题和解决过程也能锻炼解决问题的能力,提升个人的项目经验。 总的来说...

    基于jsp+servlet的bbs代码和数据库

    本项目"基于jsp+servlet的BBS代码和数据库"提供了一个基础的在线论坛系统,让我们深入探讨其核心功能和实现原理。 一、JSP与Servlet基础 1. JSP:JSP是一种动态网页技术,允许开发者将HTML、CSS、JavaScript与Java...

    Jsp+servlet实现购物车逻辑

    在本项目"Jsp+servlet实现购物车逻辑"中,我们将会深入探讨如何利用这两种技术来模拟像淘宝、天猫这样的电商平台的购物车功能。购物车原理主要涉及到用户交互、数据存储、业务逻辑处理和状态维护等多个方面。 首先...

    jsp,servlet基础理论知识

    在Web开发领域,JavaServer Pages(JSP)和Servlet是两个核心概念,它们是构建动态网站的重要工具。本文将用通俗易懂的语言深入浅出地介绍JSP和Servlet的基础理论知识。 首先,我们来理解什么是JavaServer Pages...

    JSP+Servlet调查问卷

    7. **部署与运行**:这个调查问卷应用需要被部署到支持JSP和Servlet的Web服务器上,如Tomcat。部署完成后,用户可以通过浏览器访问应用,参与问卷调查。 通过以上步骤,我们可以理解“JSP+Servlet调查问卷”的实现...

    基于JSP+servlet的BS模式毕业论文案例

    本案例主要探讨了如何利用Java技术栈中的JSP(JavaServer Pages)和Servlet来构建一个网上购物系统,这是一份非常适合计算机专业学生进行毕业设计的实践项目。以下将详细介绍该系统的实现原理和技术要点。 **1. JSP...

    jsp+jstl+servlet所需要的全部包

    在Java Web开发中,`JSP (JavaServer Pages)`、`Servlet` 和 `JSTL (JavaServer Pages Standard Tag Library)` 是三个核心组件,用于构建动态网页应用。本压缩包包含的是64位系统下开发这些应用所需的核心库。下面...

    动态网页(jsp+Servlet)

    本文将深入探讨JSP和Servlet的相关知识,以及与它们密切相关的Dom4j和Log4j,并简要提及AJAX。 首先,J2EE(Java 2 Platform, Enterprise Edition)是一个为企业级应用提供服务的平台,它包含了多种技术和规范,如...

    韩顺平笔记 java jsp servlet

    这组笔记集合了他在Java、JSP和Servlet方面的教学精华,虽然不包含全部内容,但仍然极具价值,能够帮助学习者深入理解和掌握这三个关键的技术。 首先,让我们探讨Java。Java是一种广泛使用的面向对象的编程语言,以...

    jsp+servlet+mysql+mvc模式增删改查面试题

    本文将深入探讨基于`jsp`、`servlet`、`mysql`和`mvc`模式构建的增删改查(CRUD)系统在面试中的相关知识点。首先,我们要理解这些技术的基础概念和它们如何协同工作。 1. **JSP (JavaServer Pages)** JSP是一种...

    Servlet Jsp 技术概述

    对于初学者来说,理解Servlet和JSP的基本原理,掌握它们的用法,将为后续的Java Web开发打下坚实基础。随着经验的增长,你还可以探索更高级的主题,如Spring MVC框架,它进一步简化了Servlet和JSP的使用,提升了开发...

    关于Java开发的完整文档 jsp和servlet

    Java开发是软件行业中一个至关重要的领域,而JSP(JavaServer Pages)和Servlet是Java Web开发的核心技术。本文将深入探讨这两个概念,以及它们在实际应用中的重要性,特别是对于初学者来说。 **Servlet** Servlet...

    Eclipse+MyEclipse+Tomcat搭建开发JSP和Servlet的平台

    在本文中,我们将探讨如何使用Eclipse、MyEclipse和Tomcat搭建一个用于开发JSP(Java Server Pages)和Servlet的应用环境。首先,Eclipse是一款强大的集成开发环境(IDE),主要用于Java应用程序的开发,而MyEclipse...

    JSP +servlet eclipse登陆程序

    在这个“JSP + Servlet + Eclipse 登录程序”中,我们将探讨如何在Eclipse环境下利用JSP和Servlet技术实现一个简单的用户登录系统。 首先,我们需要创建一个新的Java Web项目。在Eclipse中,选择"File" -&gt; "New" -&gt;...

    基于JSP和Servlet的购物商场系统(maven)

    本文将深入探讨一个使用JSP、Servlet、Maven、MySQL、jQuery和Bootstrap技术栈构建的购物商场系统,包括其核心组成部分、实现原理以及如何进行部署和管理。 首先,JSP(JavaServer Pages)是Java平台上的动态网页...

    JSP&Servlet;.rar

    通过阅读书籍和运行这些例子,你可以更深入地了解JSP和Servlet的工作原理以及如何在实际项目中运用它们。 总之,掌握JSP和Servlet对于Java Web开发者至关重要。理解它们的基本概念、工作方式以及如何协同工作,能为...

    jsp+servlet+mysql实现的酒店管理系统.rar

    下面我们将详细探讨这套系统的实现原理和技术要点。 一、技术选型 1. **JSP(JavaServer Pages)**:JSP是Java平台上的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,实现动态内容的生成。在本系统中,JSP...

    Jsp Servlet教程专栏

    本教程专栏将深入探讨这两个技术,帮助开发者理解和掌握其核心概念、工作原理以及实际应用。 1. JSP基础: JSP是一种基于Java的服务器端脚本语言,它允许开发者在HTML页面中嵌入Java代码,以实现动态内容的生成。...

    servlet原理和实践

    本章节将深入探讨Servlet的原理和实践,帮助你理解如何在实际项目中运用这项技术。 1. **C/S与B/S架构** C/S(Client/Server)架构是一种传统的两层架构,客户端直接与服务器通信。而B/S(Browser/Server)架构,...

Global site tag (gtag.js) - Google Analytics