JAVA教程之创建JSP操纵以进步数据库会见的效力
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。js|会见|数据|数据库从服务器端增进程序疾速开辟的JavaServerPages(JSP)决意它成为一种广为盛行的工具。固然机器的一面仍旧存在,但是不管它包括几弱点,JSP可以为Web程序计划者供应良多工具,特别是与数据库的输出和输入操纵与数据的处置。
经由过程JSP来举行数据库会见不必要太多的引诱。成绩是怎样使开辟者可以承受Web程序的数据库会见比传统的当地OLAP体系的数据库会见加倍具有吸引力,而且使他们熟悉到,整齐和扼要的数据会见办法才是关头的。在这一点上,JSP能够很好地办理。
你可以做哪些?
假如你正在编写高数据量、数据密度年夜的Web程序时,你的数据库会见应当具有哪一方面的请求?假如你正在利用JSP,那末你必需处置大批的服务器真个数据。程序大概必要大批的数据,大概良多用户,大概这两者的分离。你所思索的大概局限还会包含:功能的优化,可检测性,每用户的多个查询的影响,查询的庞大性,和当单一的会话处置大批数据时,初等级的范例转换。
这个中包括年夜范围的处置。可是,JSP可以匡助你很好地处置,由于它可以与JavaDatabaseConnectivityAPI(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
JDBCAPI不会间接地与数据库举行交换。个中的驱动程序完成的实践的毗连,你能够在卖方的Web站点高低载这些驱动程序。除此以外,另有四种JDBC的驱动程序范例,假如你决意利用JDBC,你必要准确地选择最为合适你必要的那品种型。你将利用一个DriverManager类来处置基于驱动程序的毗连。
你可使用一个名为getConnection的DriverManager办法来创建你的数据库毗连。你还可使用它的URL参数来辨认数据库:
publicstaticConnectiongetConnection(jdbc:odbc:nameOfDatabase)
如今,告知DriverManager有关驱动程序的信息(应当在你的classpath中):
Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);
你已将数据库毗连到JSP程序,但你仍旧不克不及够实行一个数据库命令。办理这一点,你能够在JSP代码中天生声明以创建数据库命令,以下所示:
publicStatementcreateStatement(intresultSetType,intresultSetConcurrency)
个中的参数可以让你把持从数据库查询失掉的了局。当利用第一个参数时,能够在程序中看到了局;当利用第二个参数时,你能够经由过程查询来更新数值(这是一个难以信任的功效,在今后的文章中值得进一步会商)。
表A
http://builder.com.com/5100-6387-5172666.html?tag=sc#Listing
AListingA显现枚举了下两种办法的庞大性。
声明(Statement)就是SQL命令。PreparedStatement就是SQL的声明,你能够经由过程个中的参数来把持程序的历程。CallableStatement是用于会见SQL存储程序。你是不是入手下手意想到,假如你没有看到这些申明,你是不是以为这些声明很庞大?请注重到,经由过程挪用rollback办法,你能够撤消买卖历程。
假如你想完整利用这些数据库会见的办法,你独一漏掉的另有:
ResultSetexecuteQuery(stringsqlQuery)
(你可使用executeQuery来完成以上历程。你也能够利用一个executeUpdate来完成更新、拔出和删除)。你以上的声明接口使你可使用一些办法来实行SQL声明。ResultSet所做的就是会见从查询失掉的数据,以是你能够在JSP程序中利用这些数据。
经由过程将JSP程序分化成单一的、功效分明的页面,和在任何给定页面中实行一个单一的数据库操纵,能够很年夜水平地简化你的数据库操纵,和创建能够用于今后程序开辟的页面,即便你将SQL嵌进到这些页面的JDBC中。
可是你还能够做更多的事变,以使得你的JSP数据库会见加倍整齐和简单保护。在JSP代码中嵌进JDBC,和经由过程发送SQL命令与数据库通信,这些历程都很好。可是,它请求在不克不及增添代码庞大水平下,创建经由过程接口的SQL命令的程序。当你的SQL处置必要进步天真性的时分,你能够进一步地分别你的数据库接口代码,以干净你的JSP程序。鄙人面的文章中,我将告知你怎样完成这些历程。
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种将安全性(Security)列为第一优先考虑的语言 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种为 Internet发展的计算机语言 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 是一种语言,用以产生「小应用程序(Applet(s)) 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
页:
[1]