广州中医药大学信息技术学院
实 验 报 告
课程名称: 专业班级: 学生学号:
网络数据库编程
计算机科学与技术(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;i out.println(\"Wrong selection : \" + e.toString()+\"href='javascript:history.back()'>返回\"); b_success=false; } else { %> } (以下为理论知识题) 5、什么是软件组件? 软件组件开发主要是开发与维护系统构造过程中用到的组件。将软件组件作为一个单独的过程,目的是将组件作为构造软件的“零部件”。随着软件技术的不断 4 发展及软件工程的不断完善,软件组件将会作为一种的软件产品出现在市场上,供应用开发人员在构造应用系统时选用 6、JavaBean 组件的公共特性有哪些? 由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点: 1. 可以实现代码的重复利用 2. 易编写、易维护、易使用 3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。 7、使用JavaBean进行数据库连接有什么好处? 引入JavaBean的主要优点有: 可以实现代码的重复利用 易维护性、易使用性,易编写性 可以在支持Java的任何平台上工作,而不需要重新编译 可以在内部、网内或者是网络之间进行传输 可以以其他部件的模式进行工作 第二部分 连接池的应用 1. 配置RESIN服务器 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 因篇幅问题不能全部显示,请点此查看更多更全内容
<% } %> 请上传word文件(*.doc,文件名最好不要用汉字):
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务