|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
令人可喜的是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程序员是操作员,呵呵。 |
|