`

数据库缓冲池在tomcat6.0中的配置

阅读更多
一、创建Servlet,在web.xml文件中加入下面配置
<resource-ref>
		<description>DB Connection</description>
		<res-ref-name>jdbc/john</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>

之后,(使用的数据库是sqlserver2005)在tomcat安装目录下面的lib文件夹中加入连接sqlserver的sqljdbc.jar,网上一些例子说要加到common/lib文件夹下面,其实tomcat6.0安装目录下默认没有common文件夹,这个版本直接把驱动加入到安装目录下面的lib文件夹中就行了.)
(注:提醒一些大意的朋友,同时在项目的WebRoot/WEB-INF/lib下面也应加入了sqljdbc.jar)
----------------------------------------------------------------------
二、在WebRoot/META-INFO/下创建context.xml,如下
<?xml version="1.0" encoding="GBK"?>
<Context>
	<Resource 
	name="jdbc/john"
	type="javax.sql.DataSource"
	driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
	url="jdbc:sqlserver://127.0.0.1:1433;databaseName=test"
	username="john"
    password="123"
    maxIdle="2" 
    maxWait="5000"
    validationQuery="select 1"
    maxActive="4"
    />
</Context>

----------------------------------------------------------------
三、写Db连接数据库类
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class Db {
	java.sql.Connection con = null;
	public Connection getCon(){
		
		try{
			Context ctx = new InitialContext(); 
			DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/john");
			con = ds.getConnection();
			
		}catch(Exception e){
			e.printStackTrace();
		}
		
		return con;
	}
	public void conClose(){
		if(con != null){
			try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

------------------
写dao:
package com.tonghu.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.tong.DBUtil.Db;
import com.tonghu.vo.DeptVO;

public class DaoTest {
	//DeptVO dept = new DeptVO();
	public boolean login(DeptVO dept){
		Db db = new Db();
		Connection conn = db.getCon();
		ResultSet rs = null;
		PreparedStatement ps = null;
		String sql = "select * from dept where dname=? and loc=?";
		try{
			ps = conn.prepareStatement(sql);
			ps.setString(1, dept.getDname());
			ps.setString(2, dept.getLoc());
			rs = ps.executeQuery();
			if(rs.next()){
				dept.setDeptno(rs.getString("deptno"));
				
				return true;
			}
		}catch(SQLException e){
			e.printStackTrace();
		}finally{
			try {
				rs.close();
				ps.close();
				conn.close();
				
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		return false;
	}
	
}

--------------------------------------------
四、写servlet实现,关键代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//生成会话session
		HttpSession session = request.getSession();
		response.setContentType("text/html;charset=utf-8");
		ServletContext sc = getServletContext();
//		
		PrintWriter out = response.getWriter();
		DaoTest da = new DaoTest();
		String dname = request.getParameter("dname");
		String loc = request.getParameter("loc");
		DeptVO dept = new DeptVO();
		dept.setDname(dname);
		dept.setLoc(loc);
		if(da.login(dept)){
			//设置把数据保存到session中
		//	session.setAttribute("deptno", dept.getDeptno());
			request.setAttribute("deptno", dept.getDeptno());
//			System.out.println("==="+dept.getDeptno());
			//使用跳转方式
			sc.getRequestDispatcher("/loginsuccess.jsp").forward(request, response);
			//重定向
//			response.sendRedirect("../loginsuccess.jsp");
//			return;
		
		}else{
			//使用重定向则应该加上一个return,因为后面的内容不需要再加载了
			response.sendRedirect("../error.jsp");
			return;
		}
	}

----------------------------------------
五、jsp测试页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>
    <title>My JSP 'testjndi02.jsp' starting page</title>
  </head>
  <body>
 <center>
 <h1>登录界面</h1><br>
<form action="servlet/Test" method="post">
用户名:<input type="text" name="dname" size="20" /><br />
密 码:<input type="password" name="loc" size="20" /><br />
<input type="submit" value="submit" />
</form>
 </center>
  </body>
</html>

------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<html>
  <head>
    <title>My JSP 'loginsuccess.jsp' starting page</title>
  </head> 
  <body>
   <h1>登录成功!!</h1>
<!--    <%=session.getAttribute("deptno")%> -->
<h1>欢迎:${requestScope.deptno}</h1>
  </body>
</html>

0
0
分享到:
评论
2 楼 GreatNeyo 2010-01-07  
xiaolongfeixiang 写道
请问你的"com.microsoft.sqlserver.jdbc.SQLServerDriver" 驱动放在TOMCAT_HOME/lib下吗?

是的,网上一些例子说要加到common/lib文件夹下面,其实tomcat6.0安装目录下默认没有common文件夹,这个版本直接把驱动加入到安装目录下面的lib文件夹中就行了.
1 楼 xiaolongfeixiang 2010-01-06  
请问你的"com.microsoft.sqlserver.jdbc.SQLServerDriver" 驱动放在TOMCAT_HOME/lib下吗?

相关推荐

    apache-tomcat6.0

    为了安全性,这些工具的访问通常需要在`conf/tomcat-users.xml`中配置相应的用户和角色。 **性能优化** Tomcat可以通过调整配置参数,如线程池大小、连接超时、缓冲区大小等,来优化性能。另外,使用NIO(非阻塞I/O...

    tomcat6.0源码

    6. **生命周期管理**:Tomcat中的所有组件都遵循一定的生命周期,包括初始化、启动、停止和销毁等阶段。源码中可以看到这些阶段是如何管理的。 7. **部署与上下文(Context)**:Tomcat通过Context对象来管理和部署...

    tomcat6.0v

    描述中的“安装版本,好用”意味着这个压缩包包含了完整的Tomcat6.0安装程序,用户可以方便地在Windows系统上进行安装和使用。通常,Tomcat的安装过程包括配置环境变量、设置端口号以及启动服务等步骤。"好用"一词...

    EAServer6.x数据库缓冲池配置

    Sybase EAServer 6.x作为一款高性能的应用服务器,其在数据库缓冲池配置方面相比之前的版本有了较大的变化。本文将详细介绍EAServer 6.x数据库缓冲池的配置方法,帮助开发者更好地理解和使用这一功能。 #### 二、...

    Tomcat 4.0如何配置数据库连结缓冲池

    Tomcat 4.0如何配置数据库连结缓冲池

    Tomcat 6.0 7.0架包

    部署Web项目在Tomcat中主要涉及以下几个步骤: 1. **下载与解压**:首先,你需要从Tomcat官网下载对应的Tomcat 6.0或7.0版本,然后将其解压到服务器或本地系统的合适位置。解压后的目录结构包括`bin`(用于执行脚本...

    apache-tomcat-6.0.27

    总之,Apache Tomcat 6.0.27虽然相对较老,但它在许多环境中仍然被广泛使用。它的免安装特性使得部署和管理变得简单,而丰富的社区资源则为用户提供了解决问题的途径。然而,为了获得最新的特性和安全性更新,建议...

    tomcat6.0绿色版

    【描述】:“Tomcat绿色版,免安装,方便快捷地在本地环境中运行Java Web应用。” 【标签】:“Tomcat” 【压缩包子文件的文件名称列表】:apache-tomcat-6.0.30 【详细知识点】 Tomcat是Apache软件基金会下的...

    Aoache—tomcat6.0

    11. **热部署**:在Tomcat中,开发者可以无需重启服务器就更新Web应用,提高了开发和调试的效率。 12. **与Apache HTTP Server集成**:通过使用mod_proxy模块,Tomcat可以与Apache HTTP Server集成,实现负载均衡和...

    tomcat6.0服务器

    【描述】"Tomcat 6.0服务器可以配置到MyEclipse中和JDK一起使用"表明了Tomcat不仅能够单独运行,还能够集成到开发环境中,如MyEclipse,这是一个流行的Java集成开发环境。通过集成,开发者可以在MyEclipse内部直接...

    tomcat 6.0

    4. **部署应用程序**:在Tomcat中部署Web应用通常是将WAR(Web ARchive)文件复制到`webapps`目录下,或者通过修改`conf/server.xml`配置文件来指定部署位置。 5. **管理工具**:Tomcat提供了管理工具,如`manager`...

    c3p0数据库缓冲池配置说明

    ### c3p0数据库缓冲池配置说明 #### 一、概述 C3P0 是一个开源的 J2EE 连接池实现,它提供了一种简单的方法来管理和控制数据库连接资源,可以有效提高应用程序访问数据库的性能。在 Java 应用程序中,频繁地创建和...

    tomcat6.0通用

    Tomcat以其轻量级、高效和易用性而广受欢迎,尤其在小型到中型企业应用中,是首选的Web服务器和应用服务器。 1. **Java Servlet和JSP**:Java Servlet是一种Java语言编写的小程序,用于扩展Web服务器的功能,处理...

    Java jdbc数据库连接池总结

    预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池...

    感性对比有无使用数据库连接池的性能

    标题“感性对比有无使用数据库连接池的性能”探讨的是数据库连接池在系统性能优化中的重要性。数据库连接池是数据库管理中的一个关键组件,它优化了数据库资源的使用,提高了应用程序的效率。本文将深入讲解数据库...

    VC6.0在数据库中读写图像文件

    在使用Microsoft Visual C++ 6.0(简称VC6.0)进行开发时,有时我们需要将图像文件存储到数据库中,以便于数据管理和检索。这个过程涉及到数据库操作、BLOB(Binary Large Object)字段处理以及图像文件的读取与保存...

    操作系统缓冲池模拟和实现(C++版)

    2. **缓冲池管理**:创建一个管理类来维护整个缓冲池,包括初始化缓冲池(分配内存并初始化缓冲区对象)、获取空闲缓冲区(从池中取出未被使用的缓冲区)、归还缓冲区(将使用完的缓冲区放回池中)和释放缓冲池...

    java数据库连接池

    预先在缓冲池中放入一定数量的连接, 当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。 我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。 更为重要的是我们可以通过...

Global site tag (gtag.js) - Google Analytics