我的TOMCAT中的Server.xml配置
<Context path="/testWebService" docBase="D:\jakarta-tomcat-5.0.30\jakarta-tomcat-5.0.30\webapps\testWebService" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/mysqlserver" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysqlserver">
<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://localhost:1433;DatabaseName=pubs</value>
</parameter><parameter>
<name>username</name>
<value>sa</value>
</parameter><parameter>
<name>password</name>
<value></value>
</parameter><parameter>
<name>maxActive</name>
<value>50</value>
</parameter><parameter>
<name>maxIdle</name>
<value>20</value>
</parameter><parameter>
<name>maxWait</name>
<value>10000</value>
</parameter></ResourceParams>
</Context>
<Context path="/testWebService" docBase="D:\jakarta-tomcat-5.0.30\jakarta-tomcat-5.0.30\webapps\testWebService" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/mysqlserver" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysqlserver">
<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://localhost:1433;DatabaseName=pubs</value>
</parameter><parameter>
<name>username</name>
<value>sa</value>
</parameter><parameter>
<name>password</name>
<value></value>
</parameter><parameter>
<name>maxActive</name>
<value>50</value>
</parameter><parameter>
<name>maxIdle</name>
<value>20</value>
</parameter><parameter>
<name>maxWait</name>
<value>10000</value>
</parameter></ResourceParams>
</Context>
package com.connect;import java.sql.Connection;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;public class ConnectDataSource { public static Connection getConnection() throws Exception{
Connection con = null;
try{
InitialContext initialContext = new InitialContext();
System.out.println("run here~~~~~~~~~");
//Context context = (Context)initialContext.lookup("java:comp/env");
//System.out.println("run here11111~~~~~~~~~");
DataSource dataSource = (DataSource)initialContext.lookup("java:comp/env/jdbc/mysqlserver");
System.out.println("run here22222~~~~~~~~~");
con = dataSource.getConnection();
System.out.println("run here33333~~~~~~~~~");
}catch(Exception e){
System.out.println("连接出错");
}
return con;
}
第二个类
package com.method;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;import com.connect.ConnectDataSource;
public class Method { public String[] findJobs() {
String[] result = null;
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = ConnectDataSource.getConnection();
String findJobs = "select * from jobs";
ps = conn.prepareStatement(findJobs);
rs = ps.executeQuery();
int length = rs.getRow();
result = new String[length-1];
if (rs.next()) {
for(int i=0;i<result.length;i++){
result[i] = rs.getString(2);
}
}
}
catch (Exception e) {
result = null;
e.printStackTrace();
}finally {
try {
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
return result;
}
public static void main(String[] args){
Method m = new Method();
System.out.println(m.findJobs());
}
}
run here~~~~~~~~~
连接出错
java.lang.NullPointerException
at com.method.Method.findJobs(Method.java:20)
at com.method.Method.main(Method.java:51)
null
求各位大哥帮帮忙!!小弟很急!!在此跪谢了,在线等!!
<Resource name="mysqlserver" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="mysqlserver">或将程序改为如下:
DataSource dataSource = (DataSource)initialContext.lookup("java:comp/env/jdbc/jdbc/mysqlserver");