欢迎来到天天文库
浏览记录
ID:47430395
大小:1.61 MB
页数:33页
时间:2020-01-11
《JavaWeb课程设计——图书馆管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JavaWeb课程设计实验报告班级:计算机09-2实验内容:图书馆管理系统成员:赵伯涛44号(组长)张宝红42号黄海清22号实验时间:从2011年12月3日至2011年12月9日指导老师:李启锐33/33一、实验目的。1、在实践中巩固本学习所学的JavaWeb技术。2、在实践中初步使用设计模式(GoF),体验设计模式带来的好处。3、配合数据库的使用,实现一个功能完善的小型系统。二、实验内容。开发一个图书管理系统,实现图书馆的各种管理操作。如图书入库、作废,借书证提供、挂失处理,图书的借出、归还、续借、丢失以及
2、超期处理。s三、业务逻辑。33/33四、数据库设计。根据业务逻辑设计出数据库。表结构及关系如下图:33/33数据库导入文本保存在DataBaseSQL.txt文档中,数据库数据保存在Data.txt文档中。五、框架结构。33/33采用了类似与MVC框架的框架结构,页面端使用了ExtJS技术(包含AJAX),增加了业务层和,数据库操作层。控制器层调用业务层,业务层调用数据库操作层。将控制,业务,数据库操作分别分层。六、技术性代码。(本实验的代码在Library.zip中)1、tomcat数据库连接池技术。在to
3、mcat中的配置文件server.xml文件中配置项目Context标签,再加入Resource标签:4、mysql://localhost:3306/LibraryOA"username="root"password="root"maxActive="50"maxIdle="20"maxWait="10000"/>以上代码配置了数据库驱动,数据库地址,数据库用户名、密码,默认提供的连接数,最大提供的连接数,最长等待时间等参数。2、Java中从连接池获取连接的类,使用了单例模式(来自GoF提出的设计模式)://DataBaseConnectionPond.javapackagelibrary.5、util;importjava.sql.Connection;importjavax.sql.DataSource;//作者:赵伯涛publicclassDataBaseConnectionPond{privatestaticDataBaseConnectionPonddbcp=null;privateDataSourceds=null;privateDataBaseConnectionPond()throwsException{javax.naming.Contextctx=newjavax.naming.6、InitialContext();ds=(DataSource)ctx.lookup("java:/comp/env/jdbc/webdb");}publicConnectionGetConnettion()throwsException{returnds.getConnection();}publicstaticConnectiongetConnection()throwsException{Connectionconn=null;if(dbcp==null){33/33Thread.sleep((long7、)(Math.random()*200));synchronized(DataBaseConnectionPond.class){if(dbcp==null){dbcp=newDataBaseConnectionPond();}}}try{conn=dbcp.GetConnettion();}catch(Exceptione){}returnconn;}}该类在整个项目部署的过程中只实例化了一个对象,故称单例。可以通过该类的static函数getConnection()获取连接。3、Dao(DataAcces8、sObject)的模板化实现,使用了模板方法模式(来自GoF提出的设计模式)://SqlExecute.javapackagelibrary.execute;importjava.sql.Connection;importlibrary.util.*;//作者:赵伯涛publicabstractclassSqlExecute{publicConnectionconn;publicObjectresu
4、mysql://localhost:3306/LibraryOA"username="root"password="root"maxActive="50"maxIdle="20"maxWait="10000"/>以上代码配置了数据库驱动,数据库地址,数据库用户名、密码,默认提供的连接数,最大提供的连接数,最长等待时间等参数。2、Java中从连接池获取连接的类,使用了单例模式(来自GoF提出的设计模式)://DataBaseConnectionPond.javapackagelibrary.
5、util;importjava.sql.Connection;importjavax.sql.DataSource;//作者:赵伯涛publicclassDataBaseConnectionPond{privatestaticDataBaseConnectionPonddbcp=null;privateDataSourceds=null;privateDataBaseConnectionPond()throwsException{javax.naming.Contextctx=newjavax.naming.
6、InitialContext();ds=(DataSource)ctx.lookup("java:/comp/env/jdbc/webdb");}publicConnectionGetConnettion()throwsException{returnds.getConnection();}publicstaticConnectiongetConnection()throwsException{Connectionconn=null;if(dbcp==null){33/33Thread.sleep((long
7、)(Math.random()*200));synchronized(DataBaseConnectionPond.class){if(dbcp==null){dbcp=newDataBaseConnectionPond();}}}try{conn=dbcp.GetConnettion();}catch(Exceptione){}returnconn;}}该类在整个项目部署的过程中只实例化了一个对象,故称单例。可以通过该类的static函数getConnection()获取连接。3、Dao(DataAcces
8、sObject)的模板化实现,使用了模板方法模式(来自GoF提出的设计模式)://SqlExecute.javapackagelibrary.execute;importjava.sql.Connection;importlibrary.util.*;//作者:赵伯涛publicabstractclassSqlExecute{publicConnectionconn;publicObjectresu
此文档下载收益归作者所有