您的位置:首页 > 编程语言 > Java开发

JAVA学习——JSP

2014-10-31 23:38 162 查看

简介:

    
    前面我们写到了JAVA比较核心的一个概念Servlet,其功能比较强劲,体系设计也很先进,只是,渲染客户端页

面是需要一句一句输出的,这样,编写和修改HTML都会非常不方便。也就是说Servlet写“表现层”很繁琐。这就有了

jsp(Java Server Page)的诞生。jsp通过在html或xml中嵌套Java代码实现动态网页。需要说明的是jsp本质

是Servlet,运行时会被编译成Servlet的格式,执行的生命周期和Servlet完全一致。
 

处理过程:

    我们知道JSP的实质还是Servlet,JSP的不同之处在于JSP是把Java代码嵌套到HTML代码中,虽然是嵌套在HTML

中,但是JSP还是服务端的,而且会先转换成Servlet然后才会被处理。

1. 用户请求JSP页面(HTTP请求)

2. webserver中的Servlet容器发现URL中有JSP后缀, 就调用JSP容器来处理

3. 如果此页面是第一次被请求,JSP容器要定位JSP页面文件并解释它,解释的过程包括:将JSP源文件处理成servlet代    
   码(java), 以及编译java文件生成servlet的call文件.
   
   说明:JSP解释器生成的Servlet类是实现了java.servlet.jsp.HttpJspPate接口的类(由JSP容器提供)的一个子           
        类,这个Servlet类叫做页面实现类(JSP页面实例);

4. JSP容器运行页JSP页面实例,此时Servlet(即JSP页面实例)就会出来HTTP请求, 生成对于的HTTP响应并传回给客户

   端.(如果此页面不是第一次被请求,则跳过3, 直接跳到4.)
 



与Servlet比较:

1.JSP在本质上就是SERVLET简易方式,是Servlet技术的扩展。但是两者的创建方式不一样。

2.Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观。JSP由

HTML代码和JSP标签构成,可以方便地编写动态网页。因此在实际应用中采用Servlet来控制业务流程,而采用JSP来

生成动态网页。

3.Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开

来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。在struts1框

架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。
 

与asp比较:

    JSP(Java Server Page)与ASP(Active ServerPage)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程

序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:

1.开放性。

    

    开发人员在对两者各自软件体系设计的深入了解的方式不同。JSP技术基于平台和服务器的互相独立,输入支持

来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。相比之下,ASP技术主要依赖微软的

技术支持。

2.组件模型

       

       JSP是建立在可重用的、跨平台的组件(如:JavaBeans、EnterprisesJavaBeans和用户定制的标签库等组件)

之上的,而ASP使用的是基于Win32的COM组件模型。

3.脚本语言

      

          JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。

4.用户定制的标签

         JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。

     JSP比asp有更好的适用性和开发性,而且维护起来更好方便,跨平台更好。

总结:

    学习过Servlet和ASP之后,对JSP的理解就容易多了,JSP本质上是servlet。通过嵌入Java代码,是前台开发

变得更加简洁方便,而与Servlet的结合,又是视图层和控制层更好的分离。同时,它又比ASP有更好的适用性和跨

平台的可重用性,更加易于维护。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: