JavaWeb课程设——图书馆管理系统.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 5 / NUMPAGES 33 JavaWeb课程设计 实验报告 班级: 计算机09-2 实验内容: 图书馆管理系统 成员: 赵伯涛 44号(组长) 张宝红 42号 黄海清 22号 实验时间: 从 2011年12月3日 至 2011年12月9日 指导老师: 李启锐 一、实验目的。 1、在实践中巩固本学习所学的JavaWeb技术。 2、在实践中初步使用设计模式(GoF),体验设计模式带来的好处。 3、配合数据库的使用,实现一个功能完善的小型系统。 二、实验内容。 开发一个图书管理系统,实现图书馆的各种管理操作。如图书入库、作废,借书证提供、挂失处理,图书的借出、归还、续借、丢失以及超期处理。s 三、业务逻辑。 四、数据库设计。 根据业务逻辑设计出数据库。表结构及关系如下图: 数据库导入文本保存在DataBaseSQL.txt文档中,数据库数据保存在Data.txt文档中。 五、框架结构。 采用了类似与MVC框架的框架结构,页面端使用了ExtJS技术(包含AJAX),增加了业务层和,数据库操作层。控制器层调用业务层,业务层调用数据库操作层。将控制,业务,数据库操作分别分层。 六、技术性代码。 (本实验的代码在Library.zip中) 1、tomcat数据库连接池技术。在tomcat中的配置文件server.xml文件中配置项目Context标签,再加入Resource标签: ??Context path=LibraryOA ?? ??docBase=/home/sea /MyEclipse/LibraryOA/WebRoot ?? ??debug=0 Resource name=jdbc/webdb auth=Container type=javax.sql.DataSource driverClassName=org.gjt.mm.mysql.Driver url=jdbc:mysql://localhost:3306/LibraryOA username=root password=root maxActive=50 maxIdle=20 maxWait=10000 / /Context 以上代码配置了数据库驱动,数据库地址,数据库用户名、密码,默认提供的连接数,最大提供的连接数,最长等待时间等参数。 2、Java中从连接池获取连接的类,使用了单例模式(来自GoF提出的设计模式): // DataBaseConnectionPond.java package library.util; import java.sql.Connection; import javax.sql.DataSource; //作者:赵伯涛 public class DataBaseConnectionPond { private static DataBaseConnectionPond dbcp = null; private DataSource ds = null; private DataBaseConnectionPond() throws Exception { javax.naming.Context ctx = new javax.naming.InitialContext(); ds = (DataSource) ctx.lookup(java:/comp/env/jdbc/webdb); } public Connection GetConnettion() throws Exception { return ds.getConnection(); } public static Connection getConnection() throws Exception { Connection conn = null; if (dbcp == null) { Thread.sleep((long) (Math.random() * 200)); synchronized (DataBaseConnectionPond.class) { if (dbcp == null) { dbcp = new DataBaseConnectionPond(); } } } try { conn = dbcp.GetConnettion(); } catch (Exception e) { } return conn; } } 该类在整个项目部署的过程中只实例化了一个对象,故称单例。可以通过该类的static函数getConnection()获取连

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档