实验8-jdbc数据库访问
- 格式:doc
- 大小:140.00 KB
- 文档页数:11
DW&DM课程实验报告学院:商学院班级:信管11-1姓名:***学号:************一、实验目的:使用数据挖掘中的分类算法、聚类分析、关联规则分析对数据集进行分类训练并验证。
二、实验内容:1.学习用WEKA进行聚类分析的操作方法2.学习用WEKA进行关联规则分析的操作3. 学会一种分类方法的操作三、实验步骤一、聚类分析(1)数据准备1. 数据文件格式转换使用WEKA作数据挖掘,面临的第一个问题往往是我们的数据不是ARFF格式的。
幸好,WEKA还提供了对CSV文件的支持,而这种格式是被很多其他软件,比如Excel,所支持的。
现在我们打开“bank-data.csv”。
利用WEKA可以将CSV文件格式转化成ARFF文件格式。
ARFF 格式是WEKA支持得最好的文件格式。
此外,WEKA还提供了通过JDBC访问数据库的功能。
2.“Explorer”界面“Explorer”提供了很多功能,是WEKA使用最多的模块。
3.bank-data数据各属性的含义如下:id: a unique identification numberage: age of customer in years (numeric)sex: MALE / FEMALEregion:inner_city/rural/suburban/townincome: income of customer (numeric)married:is the customer married (YES/NO)children: number of children (numeric)car: does the customer own a car (YES/NO)save_act: does the customer have a saving account (YES/NO)current_act:does the customer have a current account (YES/NO) mortgage: does the customer have a mortgage (YES/NO)pep: did the customer buy a PEP (Personal Equity Plan,个人参股计划) after the last mailing (YES/NO)上图显示的是“Explorer”打开“bank-data.csv”的情况。
jsp网络编程课程设计一、课程目标知识目标:1. 掌握JSP(Java Server Pages)的基本概念、原理和编程方法;2. 理解JSP的运行环境,了解Web服务器的配置和调试;3. 学会使用JSP内置对象,如request、response、session等,实现客户端与服务器端的交互;4. 掌握JSP与JavaBean、Servlet的联合使用,实现MVC设计模式;5. 了解JSP的安全性和性能优化。
技能目标:1. 能够独立搭建JSP开发环境,配置Web服务器;2. 能够编写简单的JSP页面,实现数据的显示、提交和处理;3. 能够运用JSP内置对象进行页面间的数据传递和状态管理;4. 能够结合JavaBean和Servlet,设计并实现具有较高可维护性的JSP应用程序;5. 能够对JSP程序进行基本的调试和优化。
情感态度价值观目标:1. 培养学生对网络编程的兴趣,激发学生主动学习和探索的精神;2. 培养学生严谨、细心的编程习惯,提高学生的编程素养;3. 培养学生团队合作意识,学会与他人共同解决问题;4. 使学生认识到网络编程在现代社会中的重要性,增强学生的职业责任感。
课程性质:本课程为实践性较强的课程,旨在使学生掌握JSP网络编程的基本知识和技能,培养实际编程能力。
学生特点:学生已经具备一定的Java基础,了解基本的Web知识,但对JSP 编程尚属初学者。
教学要求:以实际应用为导向,注重理论与实践相结合,强化动手实践,培养学生解决实际问题的能力。
在教学过程中,注重引导学生主动学习,培养学生的创新思维和团队协作能力。
通过本课程的学习,使学生能够独立完成简单的JSP应用程序开发。
二、教学内容1. JSP基本概念与运行原理:介绍JSP的定义、特点,分析JSP的运行机制及与Servlet的关系。
教材章节:第1章 JSP概述。
2. JSP开发环境搭建:讲解JDK、Tomcat的安装与配置,创建并部署第一个JSP页面。
jsp相册管理系统课程设计一、课程目标知识目标:1. 学生理解JSP技术的基本原理,掌握JSP页面的基本结构和语法。
2. 学生学会使用JSP和数据库技术实现相册管理系统的功能,包括图片的上传、展示、分类和管理。
3. 学生掌握在JSP中运用EL表达式和JSTL标签,提高代码的可读性和重用性。
4. 学生了解相册管理系统的安全性问题,并学会使用基础的安全措施。
技能目标:1. 学生能够独立设计并实现一个具备基本功能的相册管理系统,包括前端展示和后端管理。
2. 学生能够运用所学的数据库知识,创建合理的数据库表结构,实现数据的有效存储和查询。
3. 学生通过本课程的学习,培养解决实际问题的能力,能够通过调试和修改代码来优化系统性能。
4. 学生能够使用合适的工具和技术文档,进行自主学习和问题解决。
情感态度价值观目标:1. 培养学生对于编程和计算机技术的兴趣,激发他们探索新知识的热情。
2. 增强学生的团队协作意识,通过小组合作完成项目,培养学生的沟通能力和团队精神。
3. 通过相册管理系统这一实际项目,让学生体会技术解决生活问题的成就感,增强自信心。
4. 培养学生的创新意识,鼓励他们在系统设计过程中提出新想法,实现个性化创新。
课程性质分析:本课程属于信息技术学科,以实践操作为主,理论知识与实践技能相结合。
针对高年级学生特点,课程内容深度适中,注重培养学生的动手能力和实际问题解决能力。
学生特点分析:学生具备一定的编程基础,对JSP和数据库有一定了解,但可能缺乏综合应用的能力。
学生好奇心强,喜欢动手实践,希望通过完成项目获得成就感。
教学要求:教师需提供清晰的学习指导,通过案例教学和任务驱动法,引导学生主动探究和解决问题,确保每位学生都能参与到项目实践中,达到课程预设的目标。
二、教学内容1. JSP技术基础- JSP页面结构及运行原理- JSP脚本元素、指令和动作元素- JSP内置对象及作用域2. 数据库应用- 数据库设计原则及SQL语句- JDBC连接数据库- 数据库访问及事务处理3. 相册管理系统功能实现- 图片上传与展示- 相册分类与管理- 用户登录与权限控制4. EL表达式与JSTL标签- EL表达式语法及应用- JSTL核心标签库- JSTL函数标签库5. 系统安全与优化- 数据验证与过滤- 访问控制与权限管理- 系统性能优化策略6. 项目实践- 相册管理系统项目需求分析- 系统设计及功能模块划分- 代码编写与测试教学大纲安排:第一周:JSP技术基础及数据库设计第二周:相册管理系统功能设计与数据库访问第三周:相册管理系统功能实现及优化第四周:EL表达式与JSTL标签的应用第五周:系统安全与优化第六周:项目实践与总结教学内容与教材关联性:本教学内容紧密围绕教材中JSP技术、数据库应用、EL表达式和JSTL标签等章节,结合实际案例进行教学,确保学生能够将所学知识应用于实际项目中。
软件工程系《JSP应用技术》实验指导书专业班级:软件11-1、2指导教师:朱亚玲实验一 JSP开发环境的搭建一、实验目的1.熟练掌握Tomcat服务器的安装与配置,为后续实验做好准备工作;2.掌握Web服务目录的设置;3.熟练掌握Web服务目录下JSP页面的访问;4.掌握Tomcat服务器端口号的修改。
二、实验环境与地点PC机一台:JDK6.0+Tomcat6.0+编辑器三、实验内容与步骤1.Tomcat服务器的安装与配置;(1)下载jdk6.0进行安装,同时配置系统变量PATH与CLASSPATH。
(2)下载Tomcat6.0,将其安装到硬盘的某个分区,如D:\。
2.Web服务目录的设置;(1)在D:\下新建一个目录,名称为student,将student目录设置为Web服务目录,并为该Web 服务目录指定名字为friend的虚拟目录。
打开Tomcat目录中conf文件夹里的文件,找到出现</Host>的部分。
然后在</Host>的前面加入:<Context path=" " docBase=" " debug=0 reloadable="true" /> (2)修改端口号为9999。
在文件中找到修改端口号部分,默认端口修改为9999。
(3)启动Tomcat服务器。
如果已经启动,应该,并重新启动。
3.JSP页面的访问;(1)使用“记事本”编写一个简单的JSP页面,文件名用自己的姓名拼音命名(如张三:zhangSan.jsp),文件名是,并保存到Web服务目录student中。
(2)打开上一步建立的JSP页面进行编辑,使其页面运行起来时显示你的专业、班级、学号,姓名。
(3)在浏览器的地址栏中输入Tomcat服务器的IP地址和端口号,并通过虚拟目录friend访问Web服务目录student中第2步编辑后的JSP页面,访问路径是:。
JDBC与JNDI这两种连接方式有什么区别?jdbc是数据库中间代理商为了是java连接数据库而定的一个协议或者说是方法,通过jdbc-odbc的方法进行数据库连接,是连接一次创建一次的做法1,由数据库驱动和协议组成连接数据的方法,调用中间商提供的类包,进行创建连接 2.再由连接去调用3种状态. 3.由状态来提供对数据库的操作 jndi是一种命名树的方式,把需要的类都列成目录的样式,需要哪个只要根据命名直接去调用,是一种比较快洁的思想和行为. 当你要操作数据库的用jdbc 操作命名服务用jndi Java Database Connectivity (JDBC)是一个标准的Java API,它由一组类和接口组成,Java应用程序开发人员使用它来访问数据库和执行SQL语句JNDI(Java Name Directory Interface),可不仅仅是进行数据库定位的,它是给当前应用服务器所管理的所有资源一个唯一的标识,包括数据库,网页,文件,连接池等等。
配置 JNDI绑定此处绑定的数据源是以DBCP 为实现。
首先必须将数据库驱动(这里用了MYSQL数据库)和DBCP所需要的 Jar 包复制到 Jetty 根目录的 lib 目录下。
DBCP主要需要以下3个文件:Commons-dbcp.jarCommons-pool.jarCommons-collections.jarjdbc和jndi区别Connection conn = null;try{Class.forName("com.mysql.jdbc.Driver",true,Thread.currentT hread().getContextClassLoader());conn = DriverManager.getConnection("jdbc:mysql://MyDBS erver?user=***&password=****");.....conn.close();}catch(...){...}finally{if(conn!=null){try{conn.close();}catch(...){...}}}存在的问题?1、数据库服务器名称MyDBServer 用户名和口令可能需要修改,由此引发JDBC URL修要修改;2、数据库可能该用别的产品;3、随着实际终端的增加,原配置的连接池参数可能需要调整;解决办法程序员不必关心数据库级别的事情,只需要知道如何引用即可JNDI出现了。
《数据库原理》教案高技一、课程简介1.1 课程背景随着信息技术的快速发展,数据库技术已成为现代计算机系统的重要组成部分。
数据库原理课程旨在帮助学生了解并掌握数据库的基本概念、原理和技术,培养学生运用数据库技术解决实际问题的能力。
1.2 课程目标通过本课程的学习,学生将能够:(1)理解数据库的基本概念和原理;(2)掌握关系型数据库的设计和操作;(3)熟悉数据库管理系统的基本功能;(4)了解数据库技术的发展趋势。
二、教学内容2.1 数据库概述数据库的基本概念数据模型数据库系统的三级模式结构2.2 关系型数据库关系模型关系代数和SQL数据库设计原则2.3 数据库操作数据查询数据更新事务管理2.4 数据库管理系统的功能数据库的创建和管理用户权限管理备份与恢复三、教学方法3.1 讲授法通过讲解数据库的基本概念、原理和技术,使学生掌握数据库知识。
3.2 案例分析法分析实际案例,帮助学生理解数据库的应用场景和解决实际问题的能力。
3.3 实验操作法安排实验课程,让学生动手操作,巩固所学知识。
四、教学评价4.1 平时成绩包括课堂表现、作业完成情况等,占总评的30%。
4.2 期末考试包括选择题、填空题、简答题和案例分析题,占总评的70%。
五、教学计划5.1 课时安排共计32课时,其中理论课24课时,实验课8课时。
5.2 教学进度第1-4周:数据库概述和关系型数据库第5-8周:数据库设计原则和关系代数第9-12周:SQL和数据查询第13-16周:数据更新和事务管理第17-20周:数据库管理系统的功能第21-24周:案例分析和实验操作六、数据库设计原则与范式6.1 设计原则数据独立性数据完整性数据一致性数据共享性6.2 数据库范式第一范式(1NF)第二范式(2NF)第三范式(3NF)巴特卡规则七、关系代数与SQL7.1 关系代数选择(Selection)投影(Projection)连接(Join)除(Division)7.2 SQL基本操作数据查询(SELECT)数据更新(INSERT、UPDATE、DELETE)数据定义(CREATE、ALTER、DROP)数据控制(GRANT、REVOKE)八、数据库性能优化8.1 查询优化索引查询重写查询转换8.2 存储优化数据文件组织缓冲区管理磁盘I/O优化九、数据库安全与权限管理9.1 数据库安全用户认证访问控制数据加密9.2 权限管理用户角色权限分配与回收审计策略十、数据库发展趋势与新技术10.1 分布式数据库分布式数据库的概念分布式数据库的优缺点分布式数据库的实现技术10.2 云计算与大数据云计算数据库大数据技术数据仓库与OLAP10.3 数据库新技术内存数据库列存储数据库NoSQL数据库新型SQL数据库十一、数据库编程与应用11.1 数据库应用系统设计需求分析系统设计11.2 数据库编程技术存储过程触发器应用程序示例11.3 数据库应用开发工具集成开发环境(IDE)数据库访问接口(ODBC、JDBC)第三方库与框架十二、实验与实践12.1 实验目的与要求掌握数据库基本操作练习数据库设计与优化体验数据库应用开发12.2 实验内容数据库创建与管理数据表设计与操作存储过程与触发器编写数据库应用系统开发十三、案例分析13.1 案例一:企业员工信息管理系统需求分析系统实现13.2 案例二:在线书店数据库设计需求分析数据库设计系统实现十四、数据库项目实践14.1 项目概述项目背景项目需求项目目标14.2 项目实施数据库设计与实现系统开发与测试项目部署与维护14.3 项目评价功能完整性系统性能用户体验十五、课程总结与展望15.1 课程回顾主要知识点回顾实践技能总结15.2 数据库技术发展趋势新型数据库技术数据库与其他技术融合行业应用与创新15.3 课程建议与反馈教学方法改进教材与资源推荐学生学习建议重点和难点解析本文主要介绍了《数据库原理》课程的教案内容,包括课程简介、教学内容、教学方法、教学评价、教学计划等五个部分,以及后续的十五个章节。
单例模式读取数据库配置⽂件和JNDI连接数据源单例模式读取数据库配置⽂件单例模式是指⼀个类只有⼀个实例,只能由他本⾝调⽤,如果别⼈想要调⽤,需要此类提供⼀个公共的访问⽅法获得实例。
1.创建.properties ⽂件⽤来存放连接数据库的信息diver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/kgcnews?characterEncoding=UTF-8user=rootpassword=1234562.创建⼀个类ConfigManager⽤来读取配置⽂件+++import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;//懒汉模式读取配置⽂件public class ConfigManager {//1.创建私有化过的的ConfigManager对象private static ConfigManager cm ;//创建配置⽂件对象Properties properties;//2.私有化⽆参构造private ConfigManager(){// String file = "D:\\workspace\\login\\src\\properties\\database.properties";// inputStream = new FileInputStream(file);// "database.properties"为.properties的⽂件名String file = "database.properties";//把⽂件转换为字节流 ConfigManager.class.getClassLoader()找到本⾝所在的类的类加载器InputStream inputStream = ConfigManager.class.getClassLoader().getResourceAsStream(file);properties = new Properties();try {//写⼊properties对象properties.load(inputStream);} catch (IOException e) {e.printStackTrace();}}//3.提供⼀个全局访问点获得该对象的实例public static ConfigManager getCm(){//如果没有创建对象(类的实例)if(cm == null){//同步创建对象的过程synchronized(ConfigManager.class){cm = new ConfigManager();}}//将该类的实例返回return cm;}//获得配置⽂件值的⽅法通过getProperty(key)⽅法public String getProRes(String para){return properties.getProperty(para);}public static void main(String[] args) {System.out.println(ConfigManager.getCm().getProRes("driver"));}}饿汉模式: 1.直接创建私有实例 pirvate ConfigManager cm = new ConfigManager(); 2.私有化⽆参构造 private ConfigManager (){};3.提供⼀个公共⽅法获得实例 privtae static ConfigManager getConf(){ return cm;}懒汉模式和饿汉模式的区别:第⼀次加载,饿汉模式效率⾼。
第1篇一、实验目的1. 理解用户开户流程的基本步骤和关键环节。
2. 掌握银行系统用户开户操作的方法和技巧。
3. 培养实际操作能力,提高金融业务处理水平。
二、实验环境1. 操作系统:Windows 102. 银行系统:XX银行电子银行系统3. 网络环境:稳定高速的网络连接三、实验内容1. 用户信息录入2. 身份验证3. 开户协议签订4. 开户银行账户5. 银行卡制作6. 开户成功通知四、实验步骤1. 用户信息录入(1)登录银行系统,选择“用户开户”模块。
(2)填写用户基本信息,包括姓名、性别、身份证号码、联系方式等。
(3)上传有效身份证件扫描件。
2. 身份验证(1)系统自动识别身份证件信息,进行人脸识别验证。
(2)用户根据提示完成验证,如输入手机验证码等。
3. 开户协议签订(1)阅读开户协议,了解相关条款。
(2)勾选“我已阅读并同意开户协议”。
(3)签署电子协议。
4. 开户银行账户(1)选择账户类型,如储蓄账户、信用卡等。
(2)填写账户信息,包括账户名称、账户类型、账户币种等。
(3)设置账户密码。
5. 银行卡制作(1)选择卡片类型,如普通卡、芯片卡等。
(2)填写收货地址,用于寄送银行卡。
(3)提交卡片制作申请。
6. 开户成功通知(1)系统提示开户成功,并生成账户号码。
(2)银行卡将在制作完成后寄送至收货地址。
五、实验结果与分析1. 实验结果通过本次实验,成功完成了用户开户流程的所有步骤,包括用户信息录入、身份验证、开户协议签订、开户银行账户、银行卡制作和开户成功通知。
2. 实验分析(1)用户信息录入环节,要求用户填写真实、准确的信息,以确保账户安全和后续业务办理。
(2)身份验证环节,通过人脸识别、手机验证码等方式,确保用户身份的真实性。
(3)开户协议签订环节,用户需仔细阅读协议内容,了解相关权益和义务。
(4)开户银行账户环节,用户需选择合适的账户类型,以便满足自身需求。
(5)银行卡制作环节,用户需填写收货地址,确保卡片及时寄送。
JSP 使用JDBC-ODBC桥接器连接因为微软公司推出的ODBC比JDBC出现的时间要早,所以绝大多数的数据库都可以通过ODBC来访问,当Sun公司推出JDBC的时候,为了支持更多的数据库提供了JDBC-ODBC桥。
JDBC-ODBC桥本身也是一个驱动,利用这个驱动,可以使用JDBC API通过ODBC去访问数据库。
这种桥机制实际上是把标准的JDBC调用转换成相应的ODBC调用,并通过ODBC库把它们发送给支持ODBC对象的数据库,如图6-5所示。
数据库图6-5 通过JDBC-ODBC桥访问数据库从图6-5所示可以看到通过JDBC-ODBC桥的方式访问数据库,需要经过多层的调用,因此利用JDBC-ODBC桥访问数据库的效率比较低。
不过在数据库没有提供JDBC驱动,只有ODBC驱动的情况下,也只能利用JDBC-ODBC桥的方式访问数据库,例如,要访问Microsoft Access数据库,就只能利用JDBC-ODBC桥来访问。
利用JDBC-ODBC访问数据库,需要客户的机器具有JDBC-ODBC桥驱动。
ODBC驱动程序和相应数据库的本地API。
在JDK中,提供JDBC-ODBC桥的实现类(sun.jdbc.odbc.JdbcOdbcDriver类)。
现在创建一个实例,演示通过jdbc-odbc桥对Access数据库进行连接。
在对数据库操作之前,需要创建要操作的数据库。
打开Mictoroft Office办公组件中的Ac cess数据库管理系统,创建数据库tushu,并新建book用户表,其字段信息如表6-5所示:表6-5 book表字段信息booknamepublisher 文本是出版社price 文本是图书价格接下来需要配置一个ODBC数据源,具体步骤如下所示:(1)单击【开始】按钮,指向【控制面板】|【管理工具】,双击【数据源(ODBC)】图标,打开【ODBC数据源管理器】对话框,如图6-6所示。
实验8 JDBC访问数据库一、实验目的1. 掌握使用传统的方法访问数据库;2. 掌握使用数据源的方法访问数据库。
二、实验原理数据库应用是Web应用开发的一个重要应用。
Web应用程序访问数据库有两种方法:传统的方法和使用JNDI数据源的方法。
传统方法访问数据库的步骤是:①加载数据库驱动程序;②建立连接对象;③创建语句对象;④获得结果集;⑤关闭有关连接对象。
使用数据源访问数据库的步骤是:①配置数据源(局部数据源或全局数据源);②通过JNDI机制查找命名数据源;③通过数据源对象创建连接对象;④其他与传统方法一致。
三、实验内容与步骤(一)使用传统方法通过JSP页面访问数据库【步骤1】创建数据库。
假设在PostgreSQL建立了一个名为bookstore的数据库,在其中建立books表,代码如下:CREATE TABLE books (bookid character(5) PRIMARY KEY, --书号title varchar2(80), --书名author character varying(20), --作者publisher character varying (40), --出版社price real --价格);向books表中插入几条记录,代码如下:INSERT INTO books V ALUES('204','Head First Servlets & JSP', 'Bryan Basham', '中国电力出版社',98.00);INSERT INTO books V ALUES('201', 'Servlets 与JSP 核心教程', 'Hall Marty','清华大学出版社',45);INSERT INTO books V ALUES('202', 'Tomcat与Java Web 开发技术祥解', '孙卫琴', '机械工业出版社',45);INSERT INTO books V ALUES('203', 'JSP 应用开发技术', '柳永坡','人民邮电出版社',52);INSERT INTO books V ALUES('205', 'J2EE 1.4 编程指南', 'Spielman Sue','电子工业出版社',68);注意:需要将数据库的JDBC驱动程序安装到应用程序的WEB-INF\lib目录中。
【步骤2】使用下面JSP页面displayBooks.jsp访问books表中的数据。
<%@ page contentType="text/html; charset=gb2312" %><%@ page import="java.sql.*"%><html><head> <title>Database Access Test</title></head><body><%try {Class.forName("org.postgresql.Driver");String dburl = "jdbc:postgresql://localhost:5432/bookstore";Connection conn = DriverManager.getConnection(dburl, "bookstore","bookstore");Statement stmt = conn.createStatement();String sql = "SELECT * FROM books" ;ResultSet rs = stmt.executeQuery(sql);out.println("<table border=1>");out.println("<tr><td>书号</td><td>书名</td><td>作者</td><td>价格</td></tr>");while (rs.next()){out.println("<tr><td>"+ rs.getString(1)+"</td><td>"+ rs.getString(2)+"</td><td>"+ rs.getString(3)+"</td><td>"+ rs.getString(5)+"</td></tr>");}out.println("</table>");rs.close();stmt.close();conn.close();}catch (Exception e) {out.println(e.getMessage());}%></body></html>运用mysql的代码如下:<%@ page contentType="text/html; charset=gb2312"%><%@ page import="java.sql.*"%><html><head><title>Database Access Test</title></head><body><%try {Class.forName("com.mysql.jdbc.Driver");String dburl = "jdbc:mysql://localhost:3306/bookstore";Connection conn = DriverManager.getConnection(dburl, "root", "");Statement stmt = conn.createStatement();String sql = "SELECT * FROM books";ResultSet rs = stmt.executeQuery(sql);out.println("<table border=1>");out.println("<tr><td>书号</td><td>书名</td><td>作者</td><td>价格</td></tr>");while (rs.next()) {out.println("<tr><td>" + rs.getString(1) + "</td><td>"+ rs.getString(2) + "</td><td>" + rs.getString(3)+ "</td><td>" + rs.getString(5) + "</td></tr>");}out.println("</table>");rs.close();stmt.close();conn.close();} catch (Exception e) {out.println(e.getMessage());}%></body></html>图1 displayBooks.jsp(二)通过数据源访问数据库注意:需要将数据库的JDBC驱动程序安装到Tomcat安装目录的\lib目录中,并重新启动Tomcat服务器。
【步骤1】建立局部数据源在Web应用程序中建立一个META-INF目录,在其中建立一个context.xml文件,内容如下:<?xml version="1.0" encoding="utf-8"?><Context reloadable = "true"><Resourcename="jdbc/bookDS"type="javax.sql.DataSource"maxActive="4"maxIdle="2"username="bookstore"maxWait="5000"driverClassName="org.postgresql.Driver"password="bookstore"url="jdbc:mysql://localhost:3306/bookstore"/></Context>【步骤2】使用下面的JSP页面displayBooks.jsp访问数据库<%@ page contentType="text/html; charset=gb2312" %><%@ page import="java.sql.*, javax.sql.*,javax.naming.*"%><html><head> <title>DataSource Test</title></head><body><%try {Context context = new InitialContext();DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/bookDS");Connection conn = ds.getConnection();Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("SELECT * FROM books");out.println("<table border=1>");out.println("<tr><td>书号</td><td>书名</td><td>作者</td><td>价格</td></tr>");while (rs.next()){out.println("<tr><td>"+ rs.getString(1)+"</td><td>"+ rs.getString(2)+"</td><td>"+ rs.getString(3)+"</td><td>"+ rs.getString(5)+"</td></tr>");}out.println("</table>");rs.close();stmt.close();conn.close();}catch (Exception e) {out.println(e.getMessage());}%></body></html>图2 displayBooks.jsp(三)综合应用。