JAVA网站制作之加速JDBC计划中JSP会见数据库
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。js|会见|计划|数据|数据库之前,我们已提到,JSP程序都是模块,而且具有壮大的表达-哀求(presentation-request)功效。创建一个完善的数据库会见是一个具有应战的历程,而JDBC接口可以很好地完成这一历程。但是,嵌进于JSP代码中的JDBC代码,与SQL命令嵌进在JDBC一样,能够充实使用JSP的功效,为客户端创建一个整齐而烦琐的API。为了到达这一目标,我们能够思索到利用JSP操纵来创建数据库接口组件。
完善的JSP计划形式是Model-View-Controller(MVC)。传统三层系统为:Model为程序逻辑和数据;View为检察;和Controller为哀求处置。遵守这一模子,一个JSP程序包括客户端-服务器“对话框”的每“行”的页面。在一个典范的程序中,你能够看到一个查询页面,一个考证页面,一个数据库拔出页面,一个数据库更新页面,等等。
在上一篇的文章中,我们会商到怎样在每页面中嵌进JDBC,以包管程序的布局加倍公道。但是,创建可实行的SQL命令,正如变量经由过程JDBC命令而传送一样,也有大概会增添程序的庞大性。
JDBC计划的JSP操纵
JSP数据库操纵的另外一办法是,在不利用JDBC的情形下为数据库创建一些操纵的汇合。利用这类办法,你能够失掉两种优点:第一,你能够打消利用JDBC的需要,这就使得良多事情得以简化;第二,你的计划和代码的构造加倍公道(好比可读性,天真性,和可保护性)。
你仍旧必要一些驱动程序,但你起首简化以上的操纵。JSP程序中的操纵都是一些逻辑块,一般被别的的JSP程序开辟者编写和使用,但你能够把它们当做子程序来利用。利用JSP操纵的意义是尺度化某些功效,和最年夜水平地削减嵌进在JSP的Java代码数目。
JSP供应了一套尺度扩大的类。经由过程这些类,你能够经由过程一个标签办理器器(taghandler)界说一个操纵。这里有两个JSP界说的Java接口:Tag接口和BodyTag接口,分离是由TagSupport类和BodyTagSupport类实行。
你能够创建通用JSP用处的一个标签库,而且你也能够实行标签办理器(taghandler)以扩大类的撑持。以下是完成这些历程的步骤。
起首,实行一个标签办理器的类:
packagecom.myactions;
(importstatementsgohere)
publicclassMyActionTagextendsTagSupport{
...
}
接着,编译这段代码,并将类文件安排在程序的类库中。然后,你将必要一个TagLibraryDescriptor(TLD)文件,这是一个XML文件,以婚配你的操纵称号和响应的标签办理器的类。
<tag>
<name>MyAction</name>
<tagclass>com.myactions.MyActionTag</tagclass>
<bodycontent>(whatever)</bodycontent>
<attribute>myData</attribute>
</tag>
</tag>
相干的Trialware
DbUtils(ApacheSoftwareFoundation)
IBMInformixJDBCDriver(IBM)
MySQLConnector/J3.0(MySQLAB)
SQL4XManagerJ2.2(MacosGuru)
InformixDownloads(IBMRedBrickWarehouse32bit)(Solaris)(IBM)
InformixDownloads(IBMRedBrickWarehouse64bit)(HPUX)(IBM)
更多Trialware假定你已创建一个名为MyAction的操纵,这是一个与com.myactions.MyActionTag类婚配的TLD。TLD文件必需位于程序的TLDs路径。
当你从一个JSP页挪用操纵时,TLD告知JSP准确的类以利用操纵。这就带来极年夜的便利,并且只必要大批的代码。
可是,从何引进SQL?起首,你必要创建具有毗连功效的数据库会见。你可使用javax接口来完成,而javax可见于JDBC2.0Optional工具箱。JDBC2.0的javax.sql.DataSource类供应了你所必要的毗连。
此时,SQL位于甚么中央?它在bean中。你可使用JDBCcreateStatement和PreparedStatement在bean中创建一个办法。将这一办法成为一个大众的Vector,并准确地将你的SQL声明传送到这一办法。
总结
你的数据库bean实行一个嵌进在操纵体的SQL语句,你能够传送一个语句给SQL语句,大概利用它来实行一个事后的操纵。能够经由过程标签办理器来实行你的操纵。因为JDBC被嵌进于库代码中,你将不克不及在JSP程序中明白地利用它。
初度利用这类办法会以为它比JDBC中的嵌进SQL,和JSP中的嵌进JDBC加倍庞大,可是,你创建SQL操纵并将它们寄存在一个TLD,你只需做一次,在一切的JSP程序中就能够会见这些操纵。这就是这类办法的长处。
下一次,我们将会报告到JSP页和会话(sessions)之间的数据传送。
net程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net比。java程序员都是代码完成的,所以java程序员常戏称.net程序员是操作员,呵呵。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 是一种为 Internet发展的计算机语言 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 是一种将安全性(Security)列为第一优先考虑的语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java 编程语言的风格十分接近C、C++语言。 是一种突破用户端机器环境和CPU 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
页:
[1]