实验三DBCP数据库连接池配置的应用.doc_第1页
实验三DBCP数据库连接池配置的应用.doc_第2页
实验三DBCP数据库连接池配置的应用.doc_第3页
实验三DBCP数据库连接池配置的应用.doc_第4页
实验三DBCP数据库连接池配置的应用.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三DBCP数据库连接池配置的应用实验内容和要求:总所周知建立数据库连接是一个非常耗时耗资源的行为,因此现代的Web中间件,无论是开源的Tomcat、Jboss还是商业的websphere、weblogic都提供了数据库连接池功能,可以毫不夸张的说,数据库连接池性能的好坏,不同厂商对连接池有着不同的实现。本实验要求掌握数据库连接池的配置和使用。项目运行如下图:实验步骤如下:1准备需要访问的数据库n 下载并安装MySQL5.0n Copy MySQL5.0驱动mysql-connector-java-5.0.8-bin.jar到%TOMCAT%lib文件夹下n 创建数据库及表:数据库的设计如下表:数据库采用MySQL5.0,数据库名:rj12,表名:usertab(用户表)数据库表usertab中数据如下:2. 配置tomcat,将apache-tomcat-6.0.20.zip压缩文件解压缩,在MyEclipse中配置tomcat6,如图所示:在windows-Preferences-MyEclipse-Servers-Tomcat-Tomcat 6.x配置好以后在Server面板中出现:3. 驱动mysql-connector-java-5.0.8-bin.jar拷贝到%TOMCAT%lib文件夹下,在%TOMCAT%config文件夹下,找到server.xml文件,修改此文件,在和之间添加如下代码: 4. 在%TOMCAT%conf文件夹下编辑web.xml文件,在和之间添加如下代码: jdbc/mysqls javax.sql.DataSource Container 5. 在Tomcat安装目录下的confCatalinalocalhost文件夹下,找到要配置的Web应用的xml文件,例如web应用为empproject,既是empproject.xml 在和之间添加如下代码:若没有这句,就可能出现“Cannot create JDBC driver of class for connect URL null “的错误.6. 开发过程如下:Step1:在com.pojo包中创建JavaBean: User.java,内容如下:package com.pojo;public class User private int id;private String username;private String password;public int getId() return id;public void setId(int id) this.id = id;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;Step2:在com.util包中创建访问数据库的工具类JdbcUti.java,内容如下:package com.util;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.naming.Context;import javax.naming.InitialContext;import javax.sql.DataSource;public class JdbcUtil private static final String DSNAME = java:comp/env/jdbc/mysqls;private static JdbcUtil instance = new JdbcUtil();private JdbcUtil() public static JdbcUtil getInstance() return instance;private static Context ctx=null;private static DataSource ds=null;/ 加载驱动static try /Class.forName(DIVER);ctx=new InitialContext();ds=(DataSource)ctx.lookup(DSNAME); catch (Exception e) / TODO Auto-generated catch block/ e.printStackTrace();System.out.println(数据库驱动加载失败!);/ 创建连接public Connection getConn() Connection conn = null;try conn=ds.getConnection(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();System.out.println(连接数据库失败!);return conn;/ 关闭资源public void free(Connection conn, Statement stmt, ResultSet rs) try if (rs != null) rs.close(); else if (stmt != null) stmt.close(); else if (conn != null) conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();Step3:采用DAO设计模式在com.dao包下创建UserDao接口,代码如下:package com.dao;import java.util.List;import com.pojo.User;public interface UserDao /查询全部信息List findAll();/登录User findOne(String username,String password);/通过Id查一个数据User findOne(int id); /注册int insertOne(User user);在com.dao.impl包下创建UserDao接口的实现类UserDaoImpl.java,代码如下:package com.dao.impl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import com.dao.UserDao;import com.pojo.User;import com.util.JdbcUtil;public class UserDaoImpl implements UserDaopublic List findAll() Connection conn=JdbcUtil.getInstance().getConn();String sql=select * from usertab;List list=new ArrayList();Statement stmt=null;ResultSet rs=null;try stmt=conn.createStatement();rs=stmt.executeQuery(sql);while(rs.next()User user=new User();user.setId(rs.getInt(id);user.setUsername(rs.getString(username);user.setPassword(rs.getString(password);list.add(user); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyJdbcUtil.getInstance().free(conn, stmt, rs);return list;/登录public User findOne(String username, String password) Connection conn=JdbcUtil.getInstance().getConn();String sql=select * from usertab where username=? and password=?;PreparedStatement pstmt=null;ResultSet rs=null;User user=null;try pstmt=conn.prepareStatement(sql);pstmt.setString(1, username);pstmt.setString(2, password);rs=pstmt.executeQuery();if(rs.next()user=new User();user.setId(rs.getInt(id);user.setUsername(rs.getString(username);user.setPassword(rs.getString(password); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyJdbcUtil.getInstance().free(conn, pstmt, rs);return user;public User findOne(int id) / TODO Auto-generated method stubreturn null;public int insertOne(User user) / TODO Auto-generated method stubreturn 0;Step4:根据MVC设计模式,在com.service包下创建UserService.java 接口,代码如下:package com.service;import java.util.List;import com.pojo.User;public interface UserService List findAll();在com.service.impl包下创建实现了UserService接口的实现类UserServiceImpl.java,代码如下:package com.service.impl;import java.util.List;import com.dao.UserDao;import com.dao.impl.UserDaoImpl;import com.pojo.User;import com.service.UserService;public class UserServiceImpl implements UserServiceprivate UserDao ud=new UserDaoImpl();public List findAll() / TODO Auto-generated method stubreturn ud.findAll();Step5:修改在WebRoot下的index.jsp页面。代码如下: 查看所有用户信息其中flag是在UserServlet中接收的一个标志参数,flag=1时所实现的功能是到数据库中查询全部信息。Step6:在com.servlet包下创建一个Servlet,UserServlet.java代码如下:package servlet;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.pojo.User;import com.service.UserService;import com.service.impl.UserServiceImpl;public class UserServlet extends HttpServlet private UserService us=new UserServiceImpl();public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=utf-8);request.setCharacterEncoding(utf-8);r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论