jsp、servlet一家亲

       上个月写了《教你servlet入门》,今天来探究一下关于jsp的那些故事。

§ 回顾

    1. 什么是Web应用程序?
    2. 什么是Servlet,和一般Java程序有什么区别?
    3. 什么是JSP,和Java是什么关系?
    4. JSP和Servlet有哪些异同点?
    5. JSP和Servlet的主要用途?

§ 一家亲

        JSP:Java server  Pages,是由sun 公司倡导、许多公司参与一起建立的一种动态网页技术标准。它在HTML代码中插入JSP标记及Java程序(Scriptlet)构成JSP界面,扩展名为.JSP。当客户端请求JSP文件时,web服务器会执行该JSP文件,然后以HTML的格式返回给客户。而JSP是构建在servlet智商的高层次的动态网页标准。所以从概念上来讲,相对servlet而言,JSP没有什么新东西,可以说概念是完全一样的,只是在实现方式上稍有不同而已。因此,JSP就是servlet的一种变式

§ JSP的运行方式

        .JSP文件会在第一次被调用时进行编译,比如test.jsp文件会在第一次调用时被编译为test_jsp.java文件,之后和servlet文件的编译流程一样,被编译为.class文件。从这以后,如果再有客户需要请求该JSP页面,JSP页面不需要重新编译而是直接执行第一次已经编译好的.class文件。下面我们通过一张时序图来进一步了解JSP文件的调用和编译过程:

技术分享

§  JSP的优点

      1.一次编译,多次、多处运行

    JSP的脚本语言是Java语言,它具有Java语言的一切特性,像上图中显示的过程那样,在JSP文件被编译之后,有客户再次请求该页面时,JSP不需要被重新编译,而是直接执行早已经编译好的.class文件,因此执行效率会特别高。 

  2.组件可重用性,平台无关性

    具有可重用性和跨平台性的javaBeans和Ejb组件,为JSP程序的开发提供方便,我们可以将复杂的处理程序放到这些组件中,这样我们通过多次使用这些组件,极大地减少了在JSP页面中重写重复的代码,提高了效率,增强了代码的重用性。

  3.降低耦合度,增加源程序代码的安全性

    使用JSP技术,web页面开发人员可以使用HTML和xml标识来设计和格式化最终页面,使用JSP脚本或者标识来生成页面上的动态内容,生成动态内容的语句一般被封装在JavaBean、ejb或者JSP脚本段中,这样页面的设计人员和页面的编程人员的工作可以同步进行。并且我们在客户端通过查看源文件,看不到JSP标识的语句,也看不到在组件中封装好的代码,这样就达到了类似三层的解耦作用,有效保护了源代码。

§ JSP和servlet的结合使用

      由于我们使用servlet处理大量的HTML文本(如拼接表格的HTML语句)时,不仅仅任务量较大,而且不利于后期的维护和扩展,所以我们处理前端界面效果时采用的JSP技术,而对于程序的逻辑控制则使用servlet技术。

 技术分享

§ JSP和servlet的区别

       JSP技术是servlet技术的发展,所以本质上就是servlet的简易方式。而两者最大的不同点在于servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离出来。而JSP的情况是将Java和HTML组合成一个扩展名为.JSP的文件。所以在实际应用中,我们采用JSP来生成动态的网页页面,采用servlet来控制业务流程也就是所谓的业务逻辑所以JSP侧重于视图,而servlet注重对逻辑的控制。

    

    因此,在web建设中到底使用哪种技术周密详细的事前规划,而网站建设又不光是技术的问题,所以我们在学习和对比JSP和servlet的同事更应该注意从中汲取思想的精华,因为技术会过时,而思想却受用一生。

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。