资讯·论坛·笑话大全·QQ表情·设为首页
发新话题
打印

[[ 其它 ]] 如何建立JSP操作用以提高数据库访问效率

如何建立JSP操作用以提高数据库访问效率

从服务器端促进程序快速开发的Java Server Pages (JSP)决定它成为一种广为流行的工具。虽然呆板的一面仍然存在,然而无论它包含多少缺点,JSP能够为Web程序设计者提供很多东西,尤其是与数据库的输入和输出操作与数据的处理。
+ s% t5 S' l' b& c( Z打造最好的电脑自学交流论坛! x) k7 X* E, D0 r5 N- r

4 q9 u' h) z9 y. p. ~* H电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站通过JSP来进行数据库访问不需要太多的引导。问题是如何使开发者能够接受Web程序的数据库访问比传统的本地OLAP系统的数据库访问更加具有吸引力,并且使他们认识到,整洁和简要的数据访问方法才是关键的。在这一点上,JSP可以很好地解决。
2 c' V/ ~0 H) i9 s9 L电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
4 n$ l3 @  c! I8 Uwww.520diannao.com我爱电脑技术论坛4 ?6 }4 U6 n: M1 `& F  Y
你能够做哪些? www.520diannao.com8 d& t3 A; m* \' p8 F
www.520diannao.com6 L$ G% V/ {5 m
我爱电脑技术论坛7 V! L# ~6 g; L1 C# H
如果你正在编写高数据量、数据密度大的Web程序时,你的数据库访问应该具备哪一方面的要求?如果你正在使用JSP,那么你必须处理大量的服务器端的数据。程序也许需要大量的数据,或者很多用户,或者这二者的结合。你所考虑的可能范围还会包括:性能的优化,可检测性,每一用户的多个查询的影响,查询的复杂性,以及当单一的会话处理大量数据时,高等级的类型转换。 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站: ]9 `( \% X2 k+ C

. |: l3 r7 M# ~! P% r. i电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站www.520diannao.com3 T7 y( s6 }6 P& N% u5 L
这其中包含大规模的处理。但是,JSP能够帮助你很好地处理,因为它能够与Java Database Connectivity API (JDBC)很好的兼容。你可以将JDBC包含在JSP代码中,并且JDBC能够传递声明执行类似数据库的命令,只要你能够正确地使用JDBC驱动程序。 打造最好的电脑自学交流论坛/ c* S8 O# `) i5 L2 d. G

2 t. D5 @) U! H/ y$ K( Z我爱电脑技术社区--打造最好的电脑技术自学交流平台
6 q, i6 E$ V- O% }电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站开始 我爱电脑技术论坛) t- X7 t& p" J* ]
4 x! ^2 T( N& Q+ Z. Y: S
我爱电脑技术社区--打造最好的电脑技术自学交流平台# V; ?+ k* h* V& E
这里是一个通常的、抽象的JSP程序执行的体系。首选的JSP设计模式为模型-视图-控制器(MVCModel-View-Controller),即传统三层体系的一种变异,以更好的适合于服务器程序。在JSP的MVC设计模式中,Model指的是程序的逻辑与数据,View为查看,以及Controller为请求处理。
! m* w9 ?5 ?2 G* w6 Kwww.520diannao.com
3 K0 s2 w4 R" j9 j) j' T8 ^1 Pwww.520diannao.com
5 ]8 n  ~, J: w# }* J/ x" Z我爱电脑技术社区--打造最好的电脑技术自学交流平台当你设计一个JSP程序时,在客户端与服务器交互之间建立第一步骤的页面,这是最好的一个过程。例如,在一个典型程序中,在数据交换中的每一个特定步骤都会有页面:一个数据入口页面,一个验证请求页面,一个数据库响应页面,以及这些页面的子页面(一个更改记录的页面,一个删除记录的页面,等等)。
. ~& |1 q, R  k* H  @我爱电脑技术社区--打造最好的电脑技术自学交流平台
  J5 [9 |, O' M' A$ H打造最好的电脑自学交流论坛www.520diannao.com. r) f  q1 Q/ w) L) t
你可以将JDBC嵌入到每一页面中,以完成被请求的数据库操作。然而,这一操作也会冒很大的风险,因为由于混合了JSP和JDBC而混合了整个程序──JDBC是基于SQL。这也就是SQL被封装在JDBC,而JDBC也被封装在JSP──这也足够让你晕头转向的。如果你选择这一方法,你将会获得你想要的功能,但一定要保证你的程序逻辑与数据库访问代码的关系非常清晰,这一点格外小心。

TOP

嵌入式JDBC
9 C9 W, c1 u) @6 `/ A电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
2 t) }# M3 K4 O3 O$ vwww.520diannao.com
$ B7 f# z$ d" F: J, r4 @我爱电脑技术论坛JDBC API不会直接地与数据库进行交流。其中的驱动程序完成的实际的连接,你可以在卖方的Web站点上下载这些驱动程序。除此之外,还有四种JDBC的驱动程序类型,如果你决定使用JDBC,你需要正确地选择最为适合你需要的那种类型。你将使用一个DriverManager类来处理基于驱动程序的连接。
7 }" b6 H: e0 fwww.520diannao.com电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站7 t4 p: G+ n0 S' L
www.520diannao.com$ D6 U! Z+ O) c+ ]1 i5 {
你可以使用一个名为getConnection的DriverManager方法来建立你的数据库连接。你还可以使用它的URL参数来识别数据库:
9 A4 V" p7 e* J& x) U6 k
/ h" e6 M* w% }8 r7 E! N电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站1 ]6 o# ?9 o! w8 e( f
public static Connection getConnection(jdbc:odbc:nameOfDatabase) 我爱电脑技术论坛  |# @$ C. f/ j& ?! e& y( P0 l# r+ F
www.520diannao.com- E6 r; F5 I* \! t
我爱电脑技术社区--打造最好的电脑技术自学交流平台  ^3 f: Q) m: j" B- U" Q
现在,告诉DriverManager有关驱动程序的信息(应该在你的classpath中):
7 V* }/ `3 E) Q& q* A电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站
# K3 z/ g' y. y4 s我爱电脑技术论坛
9 W* _& X2 k# D3 f打造最好的电脑自学交流论坛Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);
. @. f; [& A7 ^( T! |4 q# q9 w9 v
# x; q" S1 r  L' F. l. g打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛9 q- `7 P8 \5 J' K$ O2 g
你已经将数据库连接到JSP程序,但你仍然不能够执行一个数据库命令。解决这一点,你可以在JSP代码中生成声明以建立数据库命令,如下所示: 打造最好的电脑自学交流论坛1 E, g$ m! ?, K0 h1 z

, e7 ]0 l) O) Q, W% |5 B! ^: H+ e电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站我爱电脑技术论坛( B) s5 l, \! P3 Q; e5 V: [
public Statement createStatement(intresultSetType, intresultSetConcurrency)
# L5 u! D- X0 _  X/ A; S! n我爱电脑技术论坛$ G: s0 b- |$ ~1 _

% |, v3 T( y3 d& P1 @, I$ bwww.520diannao.com其中的参数能够让你控制从数据库查询得到的结果。当使用第一个参数时,可以在程序中看到结果;当使用第二个参数时,你可以通过查询来更新数值(这是一个难以相信的功能,在以后的文章中值得进一步讨论)。
+ v* w# Z$ Y8 L0 {: q2 G3 U& Bwww.520diannao.com打造最好的电脑自学交流论坛0 t' L$ d8 V$ j7 I# ]
我爱电脑技术论坛3 x+ J4 x8 G! Z3 n
表A 4 _% k9 L( v9 ~6 j: M" `0 N
我爱电脑技术社区--打造最好的电脑技术自学交流平台9 W' z- U+ E/ m( F
我爱电脑技术论坛/ l# z+ v* p& o" D7 G5 G+ p
http://builder.com.com/5100-6387-5172666.html?tag=sc#Listing   v6 e; g+ h3 d% T. T

8 b( I$ A; r# a( |) B0 p我爱电脑技术社区--打造最好的电脑技术自学交流平台www.520diannao.com" Z  q5 w% h3 P% U" A( a; j# K
AListing A显示列举了下两种方法的复杂性。
9 L, u3 M7 a9 |& J我爱电脑技术社区--打造最好的电脑技术自学交流平台电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站( B% o% F$ v( s- K8 z5 ]& E* c' p
打造最好的电脑自学交流论坛: T7 s% K( D: o3 P5 F/ p
声明(Statement)就是SQL命令。PreparedStatement就是SQL的声明,你可以通过其中的参数来控制程序的过程。CallableStatement是用于访问SQL存储程序。你是否开始意识到,如果你没有看到这些说明,你是否觉得这些声明很复杂?请注意到,通过调用rollback方法,你可以撤除交易过程。 我爱电脑技术论坛4 ]) N0 J, v1 j+ q4 z

& j, x  t) R2 `7 k6 e8 I1 L# L我爱电脑技术社区--打造最好的电脑技术自学交流平台
, m: k6 z% ~6 e1 N" V5 F. [我爱电脑技术论坛如果你想完全使用这些数据库访问的方法,你唯一遗漏的还有:
# l$ M2 |- W$ ^5 Z! d2 L0 ^我爱电脑技术社区--打造最好的电脑技术自学交流平台
( j/ {3 ^6 ^$ I3 K: s# f我爱电脑技术社区--打造最好的电脑技术自学交流平台电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站' k/ `/ k7 |! t9 e1 ?
ResultSetexecuteQuery(string sqlQuery) 3 Y: r% O  i" Y# ~/ h

9 m0 T3 x, w5 |# Q  `2 Bwww.520diannao.com电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站" S0 j+ W* h% a  ~' ]
(你可以使用executeQuery来完成以上过程。你也可以使用一个executeUpdate来完成更新、插入和删除)。你以上的声明接口使你可以使用一些方法来执行SQL声明。ResultSet所做的就是访问从查询得到的数据,所以你可以在JSP程序中使用这些数据。
3 z1 y0 B4 z9 D5 Q$ b& N. o2 c电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站我爱电脑技术论坛) l$ D* B, t: c6 D; c7 w6 y
我爱电脑技术论坛# p7 @9 _, |6 t) ~0 a& h
通过将JSP程序分解成单一的、功能明显的页面,以及在任何给定页面中执行一个单一的数据库操作,可以很大程度地简化你的数据库操作,以及建立可以用于以后程序开发的页面,即使你将SQL嵌入到这些页面的JDBC中。
) {# t( `& k* O3 g打造最好的电脑自学交流论坛
& ], u( H0 t2 t! l我爱电脑技术社区--打造最好的电脑技术自学交流平台www.520diannao.com" x- o; T7 \, y! l7 B1 `
但是你还可以做更多的事情,以使得你的JSP数据库访问更加整洁和容易维护。在JSP代码中嵌入JDBC,以及通过发送SQL命令与数据库通讯,这些过程都很好。但是,它要求在不能增加代码复杂程度下,建立通过接口的SQL命令的程序。当你的SQL处理需要提高灵活性的时候,你可以进一步地分离你的数据库接口代码,以清洁你的JSP程序。

TOP

发新话题