您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页JDBC实验三 JavaBean与连接池的应用

JDBC实验三 JavaBean与连接池的应用

来源:爱go旅游网


广州中医药大学信息技术学院

实 验 报 告

课程名称: 专业班级: 学生学号:

网络数据库编程

计算机科学与技术(08)级

2008081013

学生姓名: 华

实验名称: 实验成绩:

JavaBean与连接池的应用

课程类别:必修 □ 限选 公选□ 其它□

1

实验三 JavaBean与连接池的应用

实验类型:应用性实验 实验日期: 3-20 [实验目的]

1. 理解JavaBean的基本概念和规范 2. 掌握JavaBean的编写与应用

3. 了解JNDI

4. 熟悉DataSource的使用 5. 理解连接池工作原理 6. 掌握连接池实现的关键技术

[实验内容]

第一部分 JavaBean的应用

1. JavaBean的调试环境(参考示例:counter,tax)

1) 正确编写.java代码,并编译成.class文件

2) 在jsp环境(如Tomcat、RESIN等)下调试,如在resin环境中,本

例JavaBean编译后的文件就需要放

resin\\doc\\WEB-INF\\classes\\count\\counter.class。

2. 用JavaBean组件实现文件上传(参考示例: file) 3. 编写连接数据库的JavaBean(参考示例:student)

4. 把实验二的“留言板”作业中的数据库连接改为用JAVABEAN实现,并增

加附件上传的功能(参考示例: file)。

在下面贴上题4的代码

<%@ page import=\"java.net.*,java.io.*,com.jspsmart.upload.*\" contentType=\"text/html;charset=gb2312\" %>

<% if (request.getMethod().equals(\"POST\")) {

String myFileName=\"\";

2

String app_id=(String)session.getValue(\"app_id\"); char flag=2;

boolean b_success=false;

mySmartUpload.upload(); com.jspsmart.upload.File afile = mySmartUpload.getFiles().getFile(0); myFileName=afile.getFileName();

out.println(\"大小:\"+afile.getSize());

java.io.File f = new java.io.File(\"D:/\"+myFileName);

if(f.exists())

{

out.println(\"文件已存在,请更名后再上传!返回\"); return; }

System.out.println(\"写入开始------\");

mySmartUpload.save(\"d:/upload\");

byte[] byteArry=new byte[afile.getSize()];

3

mySmartUpload.initialize(pageContext);

mySmartUpload.setAllowedFilesList(\"doc,DOC,txt,TXT,,\"); mySmartUpload.setMaxFileSize(5242880); try {

for(int i=0;ibyteArry[i]=afile.getBinaryData(i); }

out.println(\"Wrong selection : \" + e.toString()+\"href='javascript:history.back()'>返回\"); b_success=false;

} else { %>

}

请上传word文件(*.doc,文件名最好不要用汉字):

选择文件:

<% } %>

(以下为理论知识题) 5、什么是软件组件?

软件组件开发主要是开发与维护系统构造过程中用到的组件。将软件组件作为一个单独的过程,目的是将组件作为构造软件的“零部件”。随着软件技术的不断

4

发展及软件工程的不断完善,软件组件将会作为一种的软件产品出现在市场上,供应用开发人员在构造应用系统时选用

6、JavaBean 组件的公共特性有哪些? 由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点: 1. 可以实现代码的重复利用 2. 易编写、易维护、易使用

3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。

7、使用JavaBean进行数据库连接有什么好处?

引入JavaBean的主要优点有: 可以实现代码的重复利用

易维护性、易使用性,易编写性

可以在支持Java的任何平台上工作,而不需要重新编译 可以在内部、网内或者是网络之间进行传输 可以以其他部件的模式进行工作

第二部分 连接池的应用

1. 配置RESIN服务器

jdbc/JDBCTEST javax.sql.DataSource

url=\"jdbc:microsoft:sqlserver://localhost:1433;databasename=JDBCTEST\"/>

//配置连接的最大个数

2. 结合JNDI与 DataSource来访问数据库(相当于是一个公共的接口)

5

„„

Connection con=null; try {

Context initCtx = new InitialContext();

Context ctx = (Context) initCtx.lookup(\"java:comp/env\"); //获取连接池对象

DataSource ds = (DataSource)ctx.lookup(\"jdbc/JDBCTEST\"); // get the connection from the DataSource con= ds.getConnection( );

// create a Statement class to execute the SQL statement Statement stmt = con.createStatement(); „„} finally {„„}

3. 用Snap-ConnectionPool实现连接池

a) Snap-ConnectionPool连接池使用方法

(1)连接池配置文件

在每个使用Snap-ConnectionPool的应用系统,都需要定义唯一的配置文件,便于ConnectionManager在系统启动时加载。如:DatabasePool.conf (2) snappool.jar放在resin的lib目录下

6

(3)ConnectionManager 连接管理 b) 应用程序范例 try {

//只需执行一次

ConnectionManager.init( \"DatabasePool.conf\" ); ConnectionPool pool =

ConnectionManager.getConnectionPool(\"testSQLServer\"); Statement st = pool.createStatement(); Statement st1 = pool.createStatement(); Statement st2 = pool.createStatement();

st.executeQuery( \"select * from student_info\" ); st1.executeQuery( \"select * from student_info \" ); st2.executeQuery( \"select * from student_info \" ); st.close(); st1.close(); st2.close(); } catch (Exception ex)

{ ex.printStackTrace(); }

(在下面写在调试2,3题程序过程中出现的问题及解决方法)

(以下为理论知识题)

4、简述数据库连接池的基本思想

数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。

5、简述连接池的基本工作原理

7

6、实现连接池需要考虑的关键问题是什么? 并发问题

多数据库服务器和多用户 连接池的分配与释放 连接池的配置与维护

为确保连接池中的最小连接数合理,有动态和静态两种策略。

[实验体会]

请在下方写出你对本实验的看法,例如你认为实验难度如何?你能够实验吗?如果不能,你认为原因是什么?

1、实验难度: 难( ) 中等(√) 容易( )

2、能否按指定要求,在指定时间内完成所有实验? 能( ) 否( √ ) 如果不能,不能完成实验有 第一部分 JavaBean的应用

(作业提交说明:实验完成后,将此文档和相关的JSP文件一并压缩后提交上来,文件名为自己的学号+实验五,如2001000001+实验三.RAR)

8

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务