【问题标题】:JDBC connection in JSP :java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbcJSP 中的 JDBC 连接:java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc
【发布时间】:2013-03-03 23:45:38
【问题描述】:

这里我正在尝试通过JDBC 连接数据库。

这是我的代码,结果出现以下异常。

<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>


<%
  Connection con = null;
  String url = "jdbc:jtds:sqlserver://192.168.0.123:4070/";
  String db = "RUTHER_FORD";
  String driver = "net.sourceforge.jtds.jdbc.Driver";
  String userName ="RUTHER";
  String password="SORRY_CONFIDENTIAL";

  int sumcount=0;
  Statement st;
  try{
      Class.forName(driver).newInstance();
      con = DriverManager.getConnection(url+db,userName,password);
      String query = "select * from user_master";
      st = con.createStatement();
      ResultSet rs = st.executeQuery(query);
%>
<%
      while(rs.next()){
%>

        <%System.out.println(rs.getString(1));%>
        <%System.out.println(rs.getString(2));%>

<%
      }
%>
<%
  }
  catch(Exception e){
      e.printStackTrace();
  }
%>

<html>

.
.
.
.

//下面是我在调度页面时面临的异常

 java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
        at java.security.AccessController.checkPermission(AccessController.java:546)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
        at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166)
        at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)

下面我又看到了一个异常

java.security.AccessControlException: access denied (java.io.FilePermission C:\Windows\TEMP read)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    at java.security.AccessController.checkPermission(AccessController.java:546)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166)
    at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
    at java.io.File.isDirectory(File.java:752)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.unpackProperties(ConnectionJDBC2.java:1253)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:280)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at org.apache.jsp.mmrda_005fsupplierportal.index_002dleft_002dcontainer_jsp._jspService(index_002dleft_002dcontainer_jsp.java:71)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
P.S I added jtdc.1.2.5 jar to my `class path`.

我缺少什么??对此有何建议?

感谢您的宝贵时间。

【问题讨论】:

标签: java sql-server jsp web-applications jdbc


【解决方案1】:

创建 server.policy 文件并将文件放在您的 java 文件所在的位置。 在文件中添加以下行并保存。试试这个,告诉我们它是否有效

grant {
permission java.security.AllPermission;
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 2011-03-08
    相关资源
    最近更新 更多