`
Damon_Zhang
  • 浏览: 69781 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

我眼中的JSP,永不止步,尽在学习

    博客分类:
  • Java
 
阅读更多
        
   去年就接触JSP了,对它的感觉就三点:1.动态的HTML;2.MVC中的视图层;3.servlet表单提交/嵌入java代码。今天看了一些关于JSP的东西,受益匪浅,觉得自己弱爆了。JSP的确很强大,包括它和java一样的跨平台,servlet的本质,强大的标签库等等。内容不是很多,但我觉得对JSP了解更深了,给大家分享下!

   一、JSP的全称
     JSP:java server page
     JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。
     从名称可以看出这样几点:1.jsp是和java相关的,事实上他也就是嵌入java代码,动态执行的;2.jsp是在服务器端执行的;3.jsp有自己的编写规范,有自己的组件,内置对象。
   二、JSP是什么
     综合以下几点:
     1.它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
     2.JSP将网页逻辑与网页设计显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
     3.一种动态网页技术标准
    三、JSP如何执行
     概念层面:
        1.表层--->Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
        2.本质--->所有JSP页面,在执行的时候都会被服务器端的JSP引擎转换为Servelet(.java),然后又由JSP引擎调用Java编译器,将Servelet(.java)编译为Class文件(.class),并由Java虚拟机(JVM)解释执行。
        3.第一次jsp加载延迟--->当一个JSP页面第一次通过JSP引擎运行时,在收到响应前可能有较长的延迟。出现延迟的原因是,JSP引擎需要将JSP转换为Java代码、进行编译以及将它初始化,然后才能响应第一个请求。以后的请求会利用已编译的Servlet。第一个请求后的请求应该会更快地得到处理。
      图形层面:
         见附件:jsp运行原理.png
      代码层面: 
         见此链接:http://blog.csdn.net/sdyy321/article/details/5838717(注:个人觉得很受启发)
      资料层面:
          大家经常会听到JSP引擎,我觉得在WEB容器中,这个Servlet类也被称为JSP引擎。
          有一份资料供大家参考--见附件:JSP核心技术——JSP引擎内幕(2010).pdf(注:内除了设计引擎外,还有内置对象、标签、线程安全等等)
       四、JSP的优缺点
       优点:
             1.用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
             2.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
             3.多样化和功能强大的开发工具支持。
             4.支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
        缺点:
             1.优势即弱势。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
             2.存储空间消耗较大。一方面,Java的运行速度是用class常驻内存来完成的;从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
         五、JSP九大内置对象
             推荐博文:http://www.cnblogs.com/kelin1314/archive/2011/03/03/1969578.html
         六、与JSP易混淆的技术知识
           JSP与Servlet
           http://blog.sina.com.cn/s/blog_4c204e11010009v0.html
             1.两者并无本质上的区别
             2.JSP处理显示层,也就是说,只放输出HTML网页的部份;servlet处理业务逻辑层,即数据计算,数据分析,数据库联结处理。
             3.在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。   
             4.JSP内容和外观的分离,编辑好HTML后,由servlet进行插入动态内容。
         JSP/ASP
            JSP(Java Server Page)与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:
           1.Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。
           2.平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其它平台上。
           3.组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
           4.脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。
           5.安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。
           6.与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用Data Active Objects。
           7.用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。

----------------------------------------------------------------------
  关于jsp的学习东西还有很多,疑惑地方也很多。但本着一颗努力学习、排除万难的心,任它有万丈光芒,竭尽全力照耀我身!
  • 大小: 24.1 KB
1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics