JR 精品文章 - JSP学习要点记录
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » JSP/Servlet/JSF 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
JSP学习要点记录
dulu 整理   更新:2005-02-17 17:39:24  版本: 1.0   

这个是我原来学习的时候写的一个笔记,可能没有写完,大致看了一下,对新人可能有些用处,就贴上来了。

这个笔记很古老了,今天整理硬盘翻出来的,所以其中的观点可能是错的。[:E]
有时间再改了。

当一个浏览器向服务器请求一个JSP文件时,这个JSP文件首先被Web应用服务器编译成servlet并执行,然后将所产生的结果作为一个HTML文件传给浏览器。只要在JSP文件中加入一些控制,便可轻易的实现对数据的动态显示。以后,如果再有对这个JSP文件的请求,如果该文件没有作任何修改,它将不会再被编译,而是直接执行已编译好的servlet。然而,在Web应用服务器上的这些处理都是需要时间和资源的,必然会加大Web应用服务器的负荷和相应的延长响应时间。特别是整个系统刚刚启动或是有大量JSP文件作了改动以后。

JSP的功能是相当强大的,有的人说它甚至能够完成几乎所有的功能。这确实没有错误,但是当我们考虑到代码的复用性和实现的难易程度时,恐怕所有的功能都通过JSP文件来实现就不是什么好的选择了。更多的,我们还是用JSP文件作为一个response,来动态的显示某一状态下的数据。JSP的另一个特点就是它很象HTML文件,也是由许多的标签所组成的,所以我们也可以利用所见即所得的编辑器(如WebSphere Studio中的PageDesinger)来编辑它。而且,它还更加有利于不同开发人员之间的协作。JSP文件就像一个模板一样,等待着不同的数据去填充,而实现这个动态机制的正是那些嵌入HTML标签的JSP标签。基于这个思路,首先,网页的编辑人员可以将大致的模板(网页的静态部分)先设计出来,然后再由开发人员向模板中添加动态的控制代码。当全部完成后,就可以利用JSP的某种调试工具进行调试。

JSP文件的调试分为两个阶段,编译阶段和运行态阶段。应该说,JSP文件在编译阶段的调试是比较困难的,因为任何的语法错误都会导致JSP文件的编译不通过,但是却没有任何信息说明到底是什么地方有错。有的时候会因为少了一个括号花上很长的时间。一旦编译通过,运行态的问题就有方法得以解决了。我认为,最好的运行态调试工具要数VisualAge for Java的WebSphere Test Environment中的JSP执行监视器了,它可以单步执行JSP文件中的代码段,非常便于错误的定位和修改。

与Perl、shell script等CGI相比,Servlet的优势在于它只驻留一次,可以处理多个HTTP请求,而其他的CGI程序则要对每个请求都创建一个进程。所以,Servlet可以在一定程度上节省对资源的消耗。

Servlet和JSP一样,都面临同一个问题,那就是它的加载需要时间。当一个Web应用启动后,对某个Servlet的第一次调用往往很慢,而以后的调用就会好多了。这个问题是由Servlet在引擎中的调用方式和生命周期决定的。如果一个站点对Web应用的性能十分看重的化,不妨编写一个简单的程序,模拟对所有Servlet和JSP文件的HTTP请求来初始化整个Web应用,使其在真正被应用之前就已经加载好了所有的功能。

Servlet也是一种Java程序,所以它也继承了Java语言的所有特点。如果某个Web应用的所有Servlet都具有一个共同的功能,例如对后端数据库的连接,我们便可以先编写一个通用的Servlet来完成这些功能,而其他的Servlet都从这个通用的Servlet继承下来。

Data Bean,顾名思义,是与数据打交道的。更严格的说,它是对数据的一种封装。虽然也有Bean,但是却与JavaBeans不同,它并没有JavaBeans所具有的事件处理。可以说,Data Bean是整个编程模型中最简短的部分了,因为它除了数据域以外,就是对这些数据域进行操作的get和set方法了。Data Bean实际上是对数据结构的一种映射。一般的,如果一个Web应用的数据库schema确定以后,Data Bean的数目和接口也就基本上决定了。而Data Bean的开发,就更加简单了。在许多的Java开发环境中,都可以通过wizard来生成Data Bean,开发人员需要做的,只不过是告诉wizard这个Data Bean到底有多少个属性,每个属性的类型是什么。其实,如果自己手工编写Data Bean的话,也不是什么费力的事情。

在服务器端,我们要谈的最后一个元素就是DB Object。它的目的就是构造对数据库操作所需要的SQL语句,并且在执行后得到结果集。之所以需要它,是因为我们每次对数据库的操作都是不同的,如查找功能,会因不同的查询条件产生许多种情况。这需要依据不同的情况来构造不同的SQL语句。只有这样,我们的程序才能达到更高的利用率,减少开发的工作量。


版权声明  
本篇文章对您是否有帮助?  投票:         投票结果:     50       5
作者其它文章: 作者全部文章
评论人:hh205 发表时间: Sun May 29 14:49:24 CST 2005
有些片面
评论人:asthy 发表时间: Wed Oct 25 11:06:37 CST 2006
good[sun]
评论人:hyogacs 发表时间: Wed Aug 29 00:23:07 CST 2007
说的不错[:E]
评论人:heyanjing307 发表时间: Sun Apr 27 15:32:30 CST 2008
呵呵,真是不错哩,好文章!

这个文章共有 4 条评论
主题: .net 下用javascript调用webservice 上一篇文章
返回文章列表 返回〔JSP/Servlet/JSF〕
下一篇文章 主题: ajax 入门 5 (给仿google搜索栏加上一个提示请求状态的功能)


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号