`
isiqi
  • 浏览: 16488426 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JSP工作原理以及与servlet区别

阅读更多

一、jsp工作原理

在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。

JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息(也就是无法编译);如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。

然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。

如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用, 然后servlet实例便被标记加入"垃圾收集"处理。

二、jsp于servlet的区别

SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。后来SUN推出了类似于ASP的JSP,把JAVA代码嵌套到HTML语句中,这样,就大大简化和方便了网页的设计和修改。ASP,PHP,JSP都是嵌套型的SCRIPT语言。

一个分布式系统应分为三层:表示层,业务逻辑层,数据存取层,在J2EE体系结构中,SERVLET用来写业务逻辑层是很强大的,但是对于写表示层就很不方便。JSP则主要是为了方便写表示层而设计的。ENTITY BEAN实现数据存取层,SESSION BEAN实现业务逻辑层。如果是简单的应用系统,可采用JSP+BEANS的结构进行设计,JSP中应该仅仅存放与表示层有关的东西,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于业务逻辑层,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。实际上,微软的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的表示层由ASP完成,所有的业务逻辑由COM/DCOM完成。为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。另外一方面,纯SCRIPT语言将表示层和业务逻辑层混在一起,造成修改不方便,并且代码不能重复利用,采用组件技术就只改组件就可以了。对于复杂的应用,应该采用ENTITY BEAN实现数据存取层,SESSION BEAN实现业务逻辑层,

用JSP来调用SESSION BEAN,由SESSION BEAN调用ENTITY BEAN。即采用JSP+EJB来构建一个复杂的分布式系统。它比JSP+BEAN具有更高的吞吐量,可靠性,安全性。综上所述,对简单应用,可采用JSP+BAEN,对复杂的应用系统,应采用JSP+EJB。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ale0512/archive/2007/01/16/1484561.aspx

分享到:
评论

相关推荐

    JSP+JavaBean+Servlet工作原理

    总结起来,JSP+JavaBean+Servlet的工作原理是一个典型的Web应用程序开发模型,通过合理的分工,实现了高效、可维护的动态网站开发。在实际应用中,开发者通常会结合其他框架,如Spring MVC,进一步提升开发效率和...

    jsp与Servlet的编译原理、过程、区别及使用

    JSP和Servlet之间的主要区别在于它们的角色和使用方式。JSP主要用于展示视图,它的优势在于将HTML和Java代码分离,使得页面设计更为直观。而Servlet则专注于业务逻辑和数据处理。尽管JSP看起来更像HTML,但其本质...

    JSP与Servlet学习课件

    **JSP(Java Server Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态Web应用程序方面发挥着关键作用。本课件旨在帮助学习者深入理解这两者的基础知识及其交互方式,以提升Web开发能力。** **JSP...

    JSP+Servlet讲解MVC实现原理

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

    jsp实验报告4-servlet.zip

    通过这个实验,学生可以深入理解Web应用程序的工作原理,以及JSP和Servlet如何协作处理用户请求和展示结果。这对于理解Web开发的基础和进一步学习更复杂的Web框架,如Spring MVC,是非常有价值的。

    了解JSP工作原理.ppt

    了解JSP工作原理 JSP(Java Server Pages)是一种服务器端的WEB程序开发技术,由Sun公司发布,具有跨平台、通用性好、安全可靠等特点。JSP是基于Java的,页面程序由HTML或XML标记和JSP脚本共同组成,文件以“ .jsp...

    jsp工作原理

    ### JSP工作原理详解 #### 一、JSP的基本概念 JSP(JavaServer Pages)是一种基于Java技术的Web开发技术,它允许开发者在HTML页面中嵌入Java代码,从而实现动态网页的功能。JSP技术使得开发人员能够在静态网页的...

    JSP与Servlet核心技术

    **JSP(Java Server Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态、交互式的Web应用程序中起着核心作用。** **1. JSP简介:** JSP是Java平台上的一个标准视图技术,它允许开发人员将HTML或者...

    jsp&servlet电子书

    在本书中,读者会学习到Servlet的生命周期、服务方法、多线程处理、Servlet配置以及Servlet容器的工作原理。此外,书中还会介绍如何使用Filter和Listener来增强应用程序的功能,比如日志记录、会话管理等。 在JSP与...

    JSP-Servlet.rar_jsp_jsp综述_servlet_servlet jsp

    本文将深入探讨JSP与Servlet的重定向技术,并结合提供的资源来帮助初学者理解和掌握这一核心概念。 首先,JSP是一种视图技术,它允许开发者在HTML代码中嵌入Java代码,使得网页具有动态生成内容的能力。而Servlet是...

    JSP和Servlet中的几个编码的作用及原理

    ### JSP与Servlet中的编码机制详解 #### 一、引言 在Web开发中,特别是使用Java Server Pages (JSP) 和 Servlet 技术时,处理字符编码问题至关重要。不当的编码设置会导致用户界面上出现乱码,影响用户体验。本文...

    JSP源码——jsp+servlet+javaBean实现MVC_jspmvc.zip

    MVC模式工作原理** - **Model**:模型层负责业务逻辑和数据处理,它不关心视图如何显示数据,也不直接与控制器交互,而是通过事件或者接口来传递数据。 - **View**:视图层主要负责数据的呈现,它根据模型中的数据...

    将JSP代码转为Servlet

    下面我们将详细探讨JSP与Servlet的关系,以及如何将JSP代码转换为Servlet。 1. JSP简介: JSP是一种基于Java的服务器端技术,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页。JSP页面在服务器上被编译成...

    Servlet-JSP.rar_jsp sock_lottery_servlet jsp_servlet jsp

    "servlet_jsp"标签可能涵盖了Servlet与JSP的协同工作方式。在实际开发中,Servlet通常负责业务逻辑处理,而JSP则负责展示数据。通过请求转发或包含,Servlet可以将处理结果传递给JSP,JSP再将这些数据渲染成用户友好...

    JSP、Servlet、MVC

    本章内容涉及了JSP、Servlet和MVC这三个关键概念,解释了它们的基本知识、工作原理以及相互关系。通过学习,你可以理解JSP如何生成HTML响应,Servlet如何处理HTTP请求,以及MVC模式如何组织Web应用的结构。同时,还...

    jsp 原理 jsp教程

    - **第三讲 JSP的原理(三).pdf**:可能涉及JSP与Servlet的交互,以及如何在JSP中管理JavaBean。 - **第三讲 JSP的原理(四).pdf**:可能涵盖更高级的主题,如自定义标签、EL(Expression Language)和JSTL(Java...

    Servlet与jsp与Filter的使用

    ### Servlet与JSP与Filter的使用详解 #### 一、Servlet与JSP的基本概念 Servlet是一种Java技术,用于创建动态Web应用程序。它本质上是一个Java类,由Web服务器或应用服务器加载,以响应客户端请求。Servlet可以...

    jsp servlet MVC Demo

    在"jsp servlet MVC Demo"项目中,我们可以看到这三个技术的协同工作。Servlet作为控制器接收HTTP请求,处理业务逻辑,与模型交互;模型通过数据库操作获取或更新数据;而JSP作为视图,展示从模型获取的数据。这种...

    JSP与Servlet程序设计实践教程.pdf

    #### 二、JSP与Servlet的基本原理 - **JSP生命周期**: 包括创建、初始化、服务、销毁等阶段。每个阶段都有相应的事件触发器,例如初始化时会调用`init()`方法,服务时会调用`service()`方法。 - **Servlet生命周期*...

Global site tag (gtag.js) - Google Analytics