Tomcat中数据库连接池如何设置与应用
发布时间:2022-01-11 13:26:38 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍了Tomcat中数据库连接池如何设置与应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 配置:Tomcat5.5+JEE(jsdk1.5)+WINXP 还是简单的说一说文件配置: 1:修改%tomca
这篇文章主要介绍了Tomcat中数据库连接池如何设置与应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 配置:Tomcat5.5+JEE(jsdk1.5)+WINXP 还是简单的说一说文件配置: 1:修改%tomcat%/conf/server.xml在 后加如下内容. <Resource name="jdbc/DBPool" //数据源名称 type="javax.sql.DataSource" password="xxxxxxxx" driverClassName="com.mysql.jdbc.Driver" maxIdle="2" maxWait="5000" username="root" url="jdbc:mysql://127.0.0.1:3306/hptest" maxActive="4"/> 2.修改%tomcat%/conf/context.xm;在后加 <ResourceLink name="jdbc/DBPool" type="javax.sql.DataSource" global="jdbc/DBPool"/> 3.修改%tomcat%/conf/web.xml MySQL DB Connection Pool jdbc/DBPool javax.sql.DataSource Container Shareable 这样配置就算差不多了.如果具体的还不懂可见上次发的文章. 4.写一个程序测试.(写一个WEB程序) 我的是Myeclipse 写的程序,这里不能从电脑上贴图真有点不方便(我想哭). 1:写一个连接类: DBPool.java package com.test; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class DBPool { private static DataSource pool; static { Context env = null; try { env = (Context) new InitialContext().lookup("java:comp/env"); pool = (DataSource)env.lookup("jdbc/DBPool"); if(pool==null) System.err.println("'DBPool' is an unknown DataSource"); } catch(NamingException ne) { ne.printStackTrace(); } } public static DataSource getPool() { return pool; } } 2:写一个Servlet: 其中有是用来连接数据库和显示查询结果. Mytest.java package com.test; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Mytest extends HttpServlet { /** * Constructor of the object. */ public Mytest() { super(); } /** * Destruction of the servlet. */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); String id=(String)request.getParameter("id"); Connection con=null; try{ con=DBPool.getPool().getConnection(); Statement stmt=con.createStatement(); ResultSet rst=stmt.executeQuery("select * from userinf where userid='"+id+"'"); if(rst.next()){ out.println(" ID号:"+rst.getInt("userid")); out.println(" 用户名:"+com.test.ASSICTOGBR2312.trans(rst.getString("name"))); out.println(" 地址:"+rst.getString("address" )); out.println(" 生日"+rst.getDate("year" )); } else{ out.println("没有这个ID"); stmt.close(); } } catch(Exception e){ e.printStackTrace(); } finally{ //一定要注意这里对数据库的关闭不然 //自己想了 try{ if(con!=null){ con.close(); } } catch(Exception e){ e.printStackTrace(); } } } /** * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } /** * Initialization of the servlet. * * @throws ServletException if an error occure */ public void init() throws ServletException { // Put your code here } } 3:写一个JSP页面: Myjsp.jsp <%@ page="" language="java" import="java.util.*" pageencoding="gb2312"> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!-- --> This is my JSP page. print input search id: 4:其中有转字,为了不显示乱码 package com.test; import java.io.*; public class ASSICTOGBR2312 { public static String trans(String ass){ String res=null; byte temp[]; try{ temp=ass.getBytes("iso-8859-1"); res=new String(temp); } catch(UnsupportedEncodingException en) { System.out.println(en.toString()); } return res; } } 5:web.xml <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> This is the description of my J2EE component This is the display name of my J2EE component Mytest com.test.Mytest Mytest /servlet/Mytest 6: 其中数据库结构如下: 数据库名:hptest 表:userinf 用下面的命令建一个数据库和表 create database hptest; create table userinf ( userid int(4) not null, name char(10) not null, address varchar(50), year date, constraint fk_userinf primary key(userid)); ) insert into userinf values(19,'hp','cq','1982-10-22'); 感谢你能够认真阅读完这篇文章,希望小编分享的“Tomcat中数据库连接池如何设置与应用”这篇文章对大家有帮助。 (编辑:广州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |