jsp数据库连接池求救?请问,该如何解决?
文件1 C:\Tomcat\conf\Catalina\localhost\MyBarOne.xml
全部内容:
<Context path="/MyBarOne" docBase="MyBarOne" debug="99" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="MyBarOne_log." suffix=".txt" timestamp="true"/>
<Resource name="jdbc/MyBarOne" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/MyBarOne">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:MyOra</value>
</parameter>
<parameter>
<name>username</name>
<value>system</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 C:\Tomcat\webapps\MyBarOne\WEB-INF\web.xml
部分相关内容:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/MyBarOne</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
文件3 //用于查找数据源工具类
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/MyBarOne");
return ds.getConnection();
}catch(SQLException e){
System.out.println("SQLException="+e);
throw e;
}catch(NamingException e){
System.out.println("NamingException="+e);
throw e;
}
}
}
文件5
public class AllLogDao {
DatabaseConn dc = new DatabaseConn();
public List getAllLog(){
try{
Connection con = DatabaseConn.getConnection();
Statement stmt = con.createStatement();
ResultSet rst = 。。。。。
}
catch(Exception e){
System.out.println("all logdao error="+e);
}
。。。。。。
总是在执行到return ds.getConnection();包错:
all logdao error=java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1521 connect,resolve)
查资料是数据库好象安全策略问题,在oracle的安全策略文件里加了
permission java.net.SocketPermission "127。0。0。1:1521", "connect, resolve";
重启pc,还是错误,请问,该如何解决?