- 相关推荐
用JSP访问电子商务网站数据库
[摘要] 高效的Web数据库访问技术是电子商务网站成功的重要保证之一。本文通过实例着重先容了JSP中用连接池技术访问Web数据库的方法,该方法可以高效地实现多用户并发对Web数据库的访问。[关键词] JSP;JDBC;连接池
电子商务网站具有信息交流量大、信息交流快捷的特点,电子商务网站与一般网站相比,具有3个特点:一是信息量大;二是在同一时刻访问者繁多;三是它应具有商品规范的实施和数据处理能力。因此,电子商务网站建设的着重点是信息量的丰富和流通的快捷。电子商务网站中的信息是存储在数据库中的,采用JSP 访问数据库,应用连接池技术可以极大地减少连接和封闭数据库的操纵,进步系统性能。
一、JSP简介
JSP(Java Server Pages)是一种开发Web 后台程序的技术,是由Sun公司推出的基于Java 的新一代站点开发语言。它可以在JavaBean 和Servlet 的支持下,完成功能强大的站点程序开发,尤其是对Web 数据库的访问操纵。JSP 作为站点开发语言,具有运行速度快、安全性高、易于扩展等独特优点,这是其他站点开发语言(如ASP)无法相比的。另外,几乎所有的平台都支持Java、JSP以及JavaBean。
利用先进的Java 技术:JSP,Java Servlets 和Java Bean,能高效地解决前端信息安全以及后台大量数据接口等一系列大型电子商务网站所面临的题目。JSP 技术进行数据访问有几个特点:将内容的天生和显示进行分离;夸大组件的重用,进步软件开发的效率;采用标识简化页面开发,设置内置对象和应用组件,降低开发难度。现在,JSP Servlet JDBC JavaBean 已经成为开发电子商务平台的主流技术。
二、JSP对Web数据库的访问
JSP 访问Web数据库有两种主流技术,分别是JDBC(JavaBean) 技术和连接池技术。
1.JDBC(JavaBean)技术
JSP 借助Java语言的数据库连接技术JDBC (Java Database Connectivity),即通过JDBC 驱动程序与数据库相联,执行查询、修改、增加、删除等操纵。JDBC作为一种数据库访问技术,具有使用简单、可移植性强、易于编写和维护等优点,可高效地实现数据库的连接。
利用JDBC-ODBC 转换,Java程序就可以访问带有ODBC 驱动程序的数据库,从而方便地实现数据库的跨平台访问。目前,大多数数据库系统都带有ODBC 驱动程序,所以JSP 能访问Oracle,Sybase,Microsoft SQL Server,MySQL和MS Access 等各种数据库。
JavaBean 技术是一种可重复使用且跨平台的软件组件,它为软件开发者提供了一种极佳的解决方案,使他们可以利用JavaBean 技术封装事务逻辑,很好地实现业务逻辑和客户端操纵的分离,使系统具有更好的灵活性和适用性。其工作原理是将数据库的基本操纵逻辑封装在JavaBean 包中,通过JSP 调用JavaBean 来实现数据库的连接。首先将用Java 编写的数据库连接和对数据库的基本操纵的程序编译,天生*. class文件,然后就可以通过JSP 调用Java Bean 来实现数据库的操纵。使用JavaBean 进步了代码的重用程度,简化了程序设计的复杂度。
2.连接池技术
固然JDBC(JavaBean)作为一种数据库访问技术具有诸多优点,但在电子商务网站中,当有大量的用户同时访问时,采用此种技术反而会使系统性能下降。为了解决这一题目,在JSP 中,把连接池技术和JDBC(JavaBean) 结合起来使用。
连接池(Connection Pool)就是众多连接对象的“缓冲存储池”,也就是连接对象的集合体。连接池负责治理数据库连接的建立、开释和调度。事前连接池先建立若干个连接,放置在内存对象中,当有数据库访问请求时,不需要执行连接数据库的操纵,只需从连接池的空闲队列中取用连接;数据库访问完成后,将连接放回连接池中,供其他数据库操纵时复用连接池中的连接。应用连接池技术极大地减少了连接和封闭数据库的操纵,非常明显地进步了系统性能。
三、连接池实例
本例建立的数据库连接池,可以高效地实现多用户并发对数据库的访问,数据库使用的是Oracle。
public class MyConPool{
private String driver = "oracle. jdbc. driver. OracleDriver" ;
private String url = "jdbc :oracle :thin : @DBServer :1521 :OraDB" ;
private String user = " " ;
private String password = " " ;
private int ConMax = 1000 ;//连接池的最大连接数
private int initiateConNum= 3 ;//连接池初始化时的连接数
private int incrementConNum= 2 ;
public int ActiveCon = 0 ;//当前正使用的连接数
public Vector Pool = new Vector () ;//保存数据库连接
java. text . SimpleDateFormat formatter =new java. text . SimpleDateFormat ("yyyy-MM-dd HH:mm:ss" ) ;
java. util . Date currentTime-1 = new java. util . Date () ; public String time =formatter. format (currentTime-1) ;
//初始化initiateConNum 个数据库连接
public synchronized void initiatePool () {
addConnection(initiateConNum) ;
}
//获得数据库连接
public synchronized Connection getConnection() throws Exception{
Connection conn = null ;
if (Pool . size ()
【用JSP访问电子商务网站数据库】相关文章:
基于PHP的Web数据库访问03-19
VB访问数据库的方法及接口的比较03-18
用户访问模式挖掘及在电子商务中的应用03-22
GIS访问网络数据库中若干技术问题的探讨03-18
电子商务网站的系统设计03-22
旅游电子商务网站的构建03-22
我国旅游电子商务网站浅析12-07