tomcat+sql 2000连接池入门小问题
这几天在搞连接池遇到个问题请教一下大家
我在jsp里写:获取连接并打印相关成功取得信息,测试成功能取得和连接池相关测试都没问题;
但我想把Java代码即从连接池里取连接,从jsp中给提取出来放到Javabean等中那要用连接给它就OK,实现jsp只管显示而不负
责其他,结果出问题:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property,
or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at lmj.zdsoft.efforts.db.pool.Conn.getConText(Conn.java:33)
at lmj.zdsoft.efforts.db.pool.Conn.main(Conn.java:52)
我的Java代码为:
public class Conn {
static Connection conn = null;
synchronized public static void getConText() throws SQLException {
try {
Context ic = new InitialContext();
Context cont = (Context)ic.lookup("java:comp/env");
DataSource dataSource = (DataSource)cont.lookup("jdbc/text");
conn = dataSource.getConnection();
if(conn!=null){
System.out.print("YES");
System.out.print(conn.toString());
conn.close();
}else{
System.out.print("NO");
}
} catch (NamingException e) {
e.printStackTrace();
}
// return conn;
}
public static void main(String[] s) {
try {
getConText();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
xml配置为:放在Tomcat 6.0\conf\Catalina\localhost目录下
<Context path= "/DBPool" docBase= "${catalina.home}/webapps/DBPool"
debug= "0" reloadable= "true " crossContext= "true ">
<Resource name="jdbc/text"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=studentManage"
username="sa"
password="8123146"
maxActive="900"
maxIdle="1"
maxWait="10"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
removeAbandoned="true" removeAbandonedTimeout="1" logAbandoned="true"
/>
</Context>
只要实现Java代码与从jsp里分离,专门一个类来实现连接池;给个完整的代码我参考也行
分不够我再加
小弟先谢谢大家了
我在jsp里写:获取连接并打印相关成功取得信息,测试成功能取得和连接池相关测试都没问题;
但我想把Java代码即从连接池里取连接,从jsp中给提取出来放到Javabean等中那要用连接给它就OK,实现jsp只管显示而不负
责其他,结果出问题:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property,
or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at lmj.zdsoft.efforts.db.pool.Conn.getConText(Conn.java:33)
at lmj.zdsoft.efforts.db.pool.Conn.main(Conn.java:52)
我的Java代码为:
public class Conn {
static Connection conn = null;
synchronized public static void getConText() throws SQLException {
try {
Context ic = new InitialContext();
Context cont = (Context)ic.lookup("java:comp/env");
DataSource dataSource = (DataSource)cont.lookup("jdbc/text");
conn = dataSource.getConnection();
if(conn!=null){
System.out.print("YES");
System.out.print(conn.toString());
conn.close();
}else{
System.out.print("NO");
}
} catch (NamingException e) {
e.printStackTrace();
}
// return conn;
}
public static void main(String[] s) {
try {
getConText();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
xml配置为:放在Tomcat 6.0\conf\Catalina\localhost目录下
<Context path= "/DBPool" docBase= "${catalina.home}/webapps/DBPool"
debug= "0" reloadable= "true " crossContext= "true ">
<Resource name="jdbc/text"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=studentManage"
username="sa"
password="8123146"
maxActive="900"
maxIdle="1"
maxWait="10"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
removeAbandoned="true" removeAbandonedTimeout="1" logAbandoned="true"
/>
</Context>
只要实现Java代码与从jsp里分离,专门一个类来实现连接池;给个完整的代码我参考也行
分不够我再加
小弟先谢谢大家了
...全文
相关推荐
Tomcat6.0 + Sql2000的连接池配置
### Tomcat 6.0与SQL Server 2000的连接池配置详解在Java Web应用开发过程中,数据库连接管理是一项重要的任务。
Tomcat与SQL Server 2000连接池配置流程
在上面的代码中,您需要将"YourDatabaseName"替换为您的数据库名称,"your_username"和"your_password"替换为您的SQL Server 2000数据库的用户名和密码,"your_server"替换为您的服务器名称。将驱动程序的JAR文件保存在Tomcat的"lib"目录下。在上面的代码中,您需要将"YourDatabaseName"替换为您在context.xml文件中配置的数据库名称,并根据您的需求执行相应的SQL查询和处理结果。下载并安装JDBC驱动程序。
tomcat5.5+sql2000数据库连接池配置
### Tomcat 5.5 + SQL Server 2000 数据库连接池配置详解本文旨在详细介绍如何在Tomcat 5.5环境下配置SQL Server 2000的数据库连接池,解决常见的连接问题
Tomcat6.0与SQL2000的连接池配置
### Tomcat6.0与SQL2000的连接池配置详解在本文中,我们将深入探讨如何在Tomcat6.0环境下配置SQL Server 2000的连接池,以便更好地实现数据库与应用服务器之间的高效通信
Tomcat6.02和sql2000数据源(连接池)配置.txt
### Tomcat 6.02 和 SQL Server 2000 数据源(连接池)配置详解#### 一、背景介绍随着Web应用的发展,数据库访问成为应用中的关键环节之一。


Web 开发
