首页 
资讯中心 业内活动 行业人物 网站运营 站长商城 精品学院 站外休闲 关注汶川
特别专题 | 行业新闻 | 人物访谈 | 专栏作家 | 求职招聘 | 行业公司 | 网站名录 | 好站推荐 | 站长工具 | 站长大会
·包头首届站长大会 ·我区网站备案通道
·企业网站评比大赛 ·本站开展IDC托管
·内蒙古精品网址站 ·10秒即可成为写手
   当前位置:内蒙古IT实验室 内蒙古互联网实验室 内蒙古站长 >> 精品学院 >> 网络编程 >> JSP编程 >> 浏览文章
如何建立JSP操作用以提高数据库访问效率
作者:sixth 来源:赛迪网 收藏: 投稿

从服务器端促进程序快速开发的Java Server Pages (JSP)决定它成为一种广为流行的工具。虽然呆板的一面仍然存在,然而无论它包含多少缺点,JSP能够为Web程序设计者提供很多东西,尤其是与数据库的输入和输出操作与数据的处理。


通过JSP来进行数据库访问不需要太多的引导。问题是如何使开发者能够接受Web程序的数据库访问比传统的本地OLAP系统的数据库访问更加具有吸引力,并且使他们认识到,整洁和简要的数据访问方法才是关键的。在这一点上,JSP可以很好地解决。


你能够做哪些?


如果你正在编写高数据量、数据密度大的Web程序时,你的数据库访问应该具备哪一方面的要求?如果你正在使用JSP,那么你必须处理大量的服务器端的数据。程序也许需要大量的数据,或者很多用户,或者这二者的结合。你所考虑的可能范围还会包括:性能的优化,可检测性,每一用户的多个查询的影响,查询的复杂性,以及当单一的会话处理大量数据时,高等级的类型转换。


这其中包含大规模的处理。但是,JSP能够帮助你很好地处理,因为它能够与Java Database Connectivity API (JDBC)很好的兼容。你可以将JDBC包含在JSP代码中,并且JDBC能够传递声明执行类似数据库的命令,只要你能够正确地使用JDBC驱动程序。


开始


这里是一个通常的、抽象的JSP程序执行的体系。首选的JSP设计模式为模型-视图-控制器(MVCModel-View-Controller),即传统三层体系的一种变异,以更好的适合于服务器程序。在JSP的MVC设计模式中,Model指的是程序的逻辑与数据,View为查看,以及Controller为请求处理。


当你设计一个JSP程序时,在客户端与服务器交互之间建立第一步骤的页面,这是最好的一个过程。例如,在一个典型程序中,在数据交换中的每一个特定步骤都会有页面:一个数据入口页面,一个验证请求页面,一个数据库响应页面,以及这些页面的子页面(一个更改记录的页面,一个删除记录的页面,等等)。


你可以将JDBC嵌入到每一页面中,以完成被请求的数据库操作。然而,这一操作也会冒很大的风险,因为由于混合了JSP和JDBC而混合了整个程序──JDBC是基于SQL。这也就是SQL被封装在JDBC,而JDBC也被封装在JSP──这也足够让你晕头转向的。如果你选择这一方法,你将会获得你想要的功能,但一定要保证你的程序逻辑与数据库访问代码的关系非常清晰,这一点格外小心。


嵌入式JDBC


JDBC API不会直接地与数据库进行交流。其中的驱动程序完成的实际的连接,你可以在卖方的Web站点上下载这些驱动程序。除此之外,还有四种JDBC的驱动程序类型,如果你决定使用JDBC,你需要正确地选择最为适合你需要的那种类型。你将使用一个DriverManager类来处理基于驱动程序的连接。


你可以使用一个名为getConnection的DriverManager方法来建立你的数据库连接。你还可以使用它的URL参数来识别数据库:


public static Connection getConnection(jdbc:odbc:nameOfDatabase)


现在,告诉DriverManager有关驱动程序的信息(应该在你的classpath中):


Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);


你已经将数据库连接到JSP程序,但你仍然不能够执行一个数据库命令。解决这一点,你可以在JSP代码中生成声明以建立数据库命令,如下所示:


public Statement createStatement(intresultSetType, intresultSetConcurrency)


其中的参数能够让你控制从数据库查询得到的结果。当使用第一个参数时,可以在程序中看到结果;当使用第二个参数时,你可以通过查询来更新数值(这是一个难以相信的功能,在以后的文章中值得进一步讨论)。


表A


http://builder.com.com/5100-6387-5172666.html?tag=sc#Listing


AListing A显示列举了下两种方法的复杂性。


声明(Statement)就是SQL命令。PreparedStatement就是SQL的声明,你可以通过其中的参数来控制程序的过程。CallableStatement是用于访问SQL存储程序。你是否开始意识到,如果你没有看到这些说明,你是否觉得这些声明很复杂?请注意到,通过调用rollback方法,你可以撤除交易过程。


如果你想完全使用这些数据库访问的方法,你唯一遗漏的还有:


ResultSetexecuteQuery(string sqlQuery)


(你可以使用executeQuery来完成以上过程。你也可以使用一个executeUpdate来完成更新、插入和删除)。你以上的声明接口使你可以使用一些方法来执行SQL声明。ResultSet所做的就是访问从查询得到的数据,所以你可以在JSP程序中使用这些数据。


通过将JSP程序分解成单一的、功能明显的页面,以及在任何给定页面中执行一个单一的数据库操作,可以很大程度地简化你的数据库操作,以及建立可以用于以后程序开发的页面,即使你将SQL嵌入到这些页面的JDBC中。


但是你还可以做更多的事情,以使得你的JSP数据库访问更加整洁和容易维护。在JSP代码中嵌入JDBC,以及通过发送SQL命令与数据库通讯,这些过程都很好。但是,它要求在不能增加代码复杂程度下,建立通过接口的SQL命令的程序。当你的SQL处理需要提高灵活性的时候,你可以进一步地分离你的数据库接口代码,以清洁你的JSP程序。
 

浏览:  


人支持

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
下一篇:没有了
 最新推荐
网智科技诚聘IT精英共创内蒙古IT事业
广电总局公布视频牌照大名单 共247家机构获得
中国铁通并入中国移动 王建宙任集团总经理  
女子网上视频辱骂四川灾区人民被抓(图)
哀悼地震死难同胞网站变灰色
警方提醒市民:有些捐款救援短信是骗局
网络捐赠成最快方式 支付宝捐赠通道开通
四川汶川发生地震 百度贴吧网友6分钟内播报
紫金山科技杨凤彦经理谈DIY
关于地震的消息最早从那里获得,QQ群?
 相关文章
基础开发入门级:JSP与ASP的比较 [05-08]
 文章评论:
 最新文章
如何建立JSP操作用以提高数据库访问效率
Java程序员需要了解的几个开源协议
 编辑推荐
网智科技诚聘IT精英共创内蒙古IT事业
广电总局公布视频牌照大名单 共247家机构获得
中国铁通并入中国移动 王建宙任集团总经理  
女子网上视频辱骂四川灾区人民被抓(图)
哀悼地震死难同胞网站变灰色
警方提醒市民:有些捐款救援短信是骗局
网络捐赠成最快方式 支付宝捐赠通道开通
四川汶川发生地震 百度贴吧网友6分钟内播报
紫金山科技杨凤彦经理谈DIY
关于地震的消息最早从那里获得,QQ群?
 热门排行
哀悼地震死难同胞网站变灰色
北京市有望在IT行业试行在家办公
谁来保护弱势站长群体的信息安全?
IT实验室2007年度网络宣传大事例
访谈:客齐集员工—内蒙古小伙儿姜丰波
北方新报做媒 一对网络情侣喜结良缘
3158商机网与IT实验室08元旦联谊活动MTV
IT实验室与3158商机网元旦活动
震撼世界!2008年互联网趋势预测
邢明:明后两年将是互联网的社区年
 
孵化网站:
内蒙古文学网 内蒙古医药网 内蒙古网络广告网 内蒙古旅游在线 内蒙古家居装饰网 内蒙古汽车网 新闻网博客频道 婴幼儿保健网
内蒙古好网 内蒙古房产网 内蒙古拼客 内蒙古大学生网 内蒙古物流网          
合作伙伴:
内蒙古新闻网 图吧 飞普科技 盛开元广告 人间指南 内蒙古商报 乌海在线 互联网实验室 中国网站排名  
合作媒体:
DoNews IT中国 站长网 落伍者 中国站长站 AdminTech 内蒙古新闻网 北方新报 内蒙古晨报 内蒙古商报 呼和浩特晚报
友情链接:
内蒙古电子杂志网内蒙古第一站BIOS之家子寒热点互联网分享IT每一天山西站长网
内蒙古动漫电影网阿尔山旅游网山炮摇滚视频网草原论坛中国生活指南网IT技术部呼和浩特人才网
内蒙古拍易拍信息网串串网站导航站长中国网读书志九上网导航 罗伊-电子商务信息网络安全调查
计算机病毒处理中心鄂尔多斯之窗内蒙信息港内蒙信息网包头热线河套生活网塞外传媒网
青城之恋包头移动公寓网酷博网内蒙古生活信息呼和浩特餐饮娱乐网包头大学生网7度POP网
呼和浩特热线蒙古文化媒体网IT动力源呼和浩特好评网牧人部落呼伦贝尔旅游网
关于本站 - 业务合作 - 广告合作 - 联系站长 - 设为首页 - 加入收藏 - 友情连接 - 雁过留声
内蒙古IT实验室 版权所有 蒙ICP备05002086
本站特约顾问:资深的互联网专家黄相如
Copyright(C) 2008 NmgLabs.com All Rights Reserved