操作Java开辟Web操纵(二) 服务器端的实现[Java编程]
本文“操作Java开辟Web操纵(二) 服务器端的实现[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在服务器端,假如用 Java 语言实现的话,直接与浏览器打交道的要算JavaServer Pages(JSPs)和Servlets了.在它们的背面还有通过Java实现的Data Beans、DB Beans和Commands.
1.Java Server Pages(JSPs)
JavaServer Pages(JSPs)是对HTML的另一种扩大,它可以通过一些特别的标签向页面中插入动态的信息.如可以操纵<%和%>标签增添Java 代码段,用<%=表达式%>将表达式的值写入页面,用<jsp:bean>标签在某一范围内(request、session或 context)引用Java Bean.
除此之外,JSP的尺度标签扩大机制还答应开辟人员编写自己的标签和呼应的实现办法.这样,便可以将某些商业逻辑封装成JSP的标签,使JSP文件中呈现更少的Java代码,越发象一个HTML文件.
当一个浏览器向服务器恳求一个JSP文件时,这个JSP文件首先被Web利用服务器编译成servlet并履行,然后将所产生的后果作为一个HTML文件传给浏览器.只要在JSP文件中加入一些掌握,便可简单的实现对数据的动态显示.今后,假如再有对这个JSP文件的恳求,假如该文件没有作任何改正,它将不会再被编译,而是直接履行已编译好的servlet.但是,在Web利用服务器上的这些处理都是需求时间和资源的,必定会加大Web利用服务器的负荷和呼应的延伸呼应时间.分外是整个系统方才启动或是有大量JSP文件作了窜改今后.有关JSP调用和生命周期的具体细节,请参阅sun公司的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文件中的代码段,非常便于错误的定位和改正.
2. Servlets
Servlet对大都人来说已经不是个陌生的名词了.它在网站的架构中常作为CGI的替换品,用来汇集HTTP恳求中的数据,并根据这些数据举行某种操作.普通,我们还可以操纵Chained Servlet和Filtered Serlvet来简化和模块化Servlet.固然它也可以用输出流动态的产生HTTP呼应作为HTML页面传送给浏览器,但是这种做法会招致Servlet的程序很长,并且适应性不强,所以我们还是应当尽大概将显示的工作交给JSP去做.与Perl、shell script等CGI相比,Servlet的上风在于它只驻留一次,可以处理多个HTTP恳求,而其他的CGI程序则要对每个恳求都成立一个进程.所以,Servlet可以在一定程度上节俭对资源的损耗.
很简单得出,Servlet和JSP一样,都面对这同一个问题,那就是它的加载需求时间.当一个Web利用启动后,对某个Servlet的第一次调用常常很慢,而今后的调用就会好多了.这个问题是由Servlet在引擎中的调用方法和生命周期决意的(有关的具体内容请参阅sun公司的Servlet标准文章).假如一个站点对Web利用的性能非常垂青的化,无妨编写一个简单的程序,模拟对全部Servlet和JSP文件的HTTP恳求来初始化整个Web利用,使其在真正被利用之前就已经加载好了全部的功效.
Servlet也是一种Java程序,所以它也担当了Java语言的全部特点.假如某个Web利用的全部Servlet都具有一个共同的功效,比方对后端数据库的衔接,我们便可以先编写一个通用的Servlet来完成这些功效,而其他的Servlet都从这个通用的Servlet担当下来.当然,这只是 Servlet的上风的一个例子,假如细心研究一下,你可以发现很多.并且,目前Java的IDE有很多,如IBM的VisualAge for Java、Borland的Jbuilder和Semantic的VisualCafe,它们都可以用来开辟Servlet.它的调试相对来说也是简单的.
3. Java Commands
Java Command是别的一种Java程序,它的目的是被Servlet调用,完成一个相对独立的功效,比方对某种数据的插入、改正大概删除.一个交易常常触及多个功效.我们拿转帐来说,这个交易就至少包含了两个操作:把钱从一个帐户上扣除和把钱增添到别的一个帐户上.每一个Command都能完成一种功效,通过对Command的差别组合,便可以完成全部的交易.Command与Servlet相比,遭到的限制更少,更接近于普通的Java程序.一样,它也可以用上面提到的开辟工具开辟和调试.但是所差别的是,由于它需求由Servlet来调用,所以假如要对它举行调试,其上面的Servlet必必要同时完成.大概,也要成立其他的Java利用程序来构造出通过Servlet传入的参数,然后再调用它.
4. Data Bean
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的话,也不是什么吃力的事情.
5.DB Object
在服务器端,我们要谈的最后一个元素就是DB Object.它的目的就是构造对数据库操作所需求的SQL语句,并且在履行后得到后果集.之所以需求它,是因为我们每次对数据库的操作都是差别的,如查找功效,会因差别的查询条件产生很多种情形.这需求根据差别的情形来构造差别的SQL语句.只有这样,我们的程序才能到达更高的操纵率,削减开辟的工作量.
以上是“操作Java开辟Web操纵(二) 服务器端的实现[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |