Tomcat6.0 SQL2000连接池配置详细分析

来源:互联网 发布:炒股入门软件知乎 编辑:程序博客网 时间:2024/06/06 11:43

Tomcat6.0安装在:C:/Program Files/Tomcat 6.0/conf

 

1.在Tomcat中布暑项目,Tomcat 6.0/conf目录下新建目录Catalina/localhost,在该文件夹下新建一个XML文件,内容如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<Context path="/myBlog" docBase="F:/Workspaces/myBlog/WebRoot" debug="0" privileged="true" antiResourceLocking="false" antiJARLocking="false" reloadable="true">
</Context>

 

说明:path项目所在文件夹 docBase项目所在的路径

 

2.Tomcat 6.0/conf/context.xml该文件中填写连接池语句,如下所示:

<!-- The contents of this file will be loaded for each web application -->
<Context>

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
 
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
 <Resource name="jdbc/blogdatabase" type="javax.sql.DataSource" password="895278" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" username="sa" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=blog;" maxActive="4" />
</Context>

 

3.将驱动包msbase.jar,mssqlserver.jar,msutil.jar复制到Tomcat 6.0/lib目录。

 

到此已经完成配置。

 

在项目中引起连接池,在myEclipse8.5建立一个HttpServlet,内容如下所示:

package cn.com.jodedu.blog;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.sql.DataSource;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.dbutils.QueryRunner;

public class BlogServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doPost(request, response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  // 解决从JSP页面接受中文参数乱码的问题
  request.setCharacterEncoding("UTF-8");
  String title = request.getParameter("title");
  String content = request.getParameter("content");
  String catagoryId = request.getParameter("catagory");

  DataSource ds = null;
  int result = 0;
  String message = "";

  // 方法一 //数据源对象可以理解为连接池的管理者,通过它可以获取数据库的连接
  try {
   Context context = new InitialContext();
   ds = (DataSource) context.lookup("java:comp/env/jdbc/blogdatabase");
  } catch (Exception e) {
   System.out.print("获取数据源出错");
   message = "获取数据源出错";
  }
  try {
   Connection conn = ds.getConnection();
   String sqlStr = "insert into blogContent(blotTitle, blogType, blogtext) values(?,?,?)";
   // ?通过预编译方式赋值
   PreparedStatement statement = conn.prepareStatement(sqlStr);
   statement.setString(1, title);   
   statement.setInt(2, Integer.parseInt(catagoryId));
   statement.setString(3, content);
   result = statement.executeUpdate();
  } catch (SQLException e) {
   e.printStackTrace();
   message = "getConnection出错";
  }

  if (result == 1) {
   message = "添加成功";
  } else {
   message = "添加失败";
  }

  request.setAttribute("message", message);
  request.getRequestDispatcher("/addBlogesult.jsp").forward(request,response);
 }
}

 

 

原创文笔,转载请注明出处。作者:林寿全,发表地:广州,时间:2010.08.14 18:00

 

 

 

 

原创粉丝点击