Tomcat连接池配置问题[当工作文件夹在root根目录下的时候如何配置]

lxcnuaa 2004-09-16 09:57:38
一:当在webaps文件夹下新建一个项目oa文件夹的时候已经可以调试成功,各文件内容如下

1.server.xml
<Context path="/oa" docBase="oa" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/oa" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/oa">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=OA</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>manager</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>

2.DatabaseConn 类
package com.guomao.util;

import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
//一个用于查找数据源的工具类。
public class DatabaseConn {
public static synchronized Connection getConnection() throws Exception
{
try
{

Context initCtx = new javax.naming.InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/oa"); ;
return ds.getConnection();
}
catch(SQLException e)
{
throw e;
}
catch(NamingException e)
{
throw e;
}

}

}


3.con.jsp
<%@ page import="com.guomao.util.*" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%>

<%
Connection conn = DatabaseConn.getConnection();
%>

4.在jsp中include了con.jsp来启用数据库连接
<%@ page contentType="text/html;charset=gb2312" %>
<%@ include file="conn.jsp" %>

<%
try{
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from OA_CLDJ");
out.println("显示数据库中数据");
while(rs.next()){
out.println("clmc=" + rs.getString("clmc"));
out.println("<br>");
}


}catch(Exception e){
out.println("连接失败");
}%>


二:现在的问题就是
目前项目直接放在了root文件夹根目录下.
此时server.xml中的resourse参数应该怎么改.

<Context path="/oa" docBase="oa" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/oa" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/oa">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>

在网上看到说path是文件夹相对于webapps的路径,那么对于root这个根目录,应该怎么改呢?
...全文
200 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
epson1980 2005-02-18
  • 打赏
  • 举报
回复
记录
ecaol 2004-09-16
  • 打赏
  • 举报
回复
up
sjtsh 2004-09-16
  • 打赏
  • 举报
回复
<Context path="/oa" docBase="ROOT\oa" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/oa" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/oa">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
就行了,我的就是这样改的,可以运行
lxcnuaa 2004-09-16
  • 打赏
  • 举报
回复
唉.试过了,也不行.
我试过了
<Context path="/oa" docBase="ROOT\oa" debug="0" reloadable="true" crossContext="true">

<Context path="/" docBase="ROOT\oa" debug="0" reloadable="true" crossContext="true">

<Context path="" docBase="ROOT\oa" debug="0" reloadable="true" crossContext="true">

<Context path="." docBase="ROOT\oa" debug="0" reloadable="true" crossContext="true">

<Context path="\ROOT" docBase="ROOT\oa" debug="0" reloadable="true" crossContext="true">
都不行.

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧