代码如下:
/////////////////////////////////////////////////////////////////////////////////
conn.javapackage mylib.test.ejb.connDB;import javax.ejb.*;
import java.sql.*;
import java.rmi.*;
public interface conn extends EJBObject {    public ResultSet sqlQuery(String sqlStr) throws RemoteException,SQLException;}
/////////////////////////////////////////////////////////////////////////////////connHome.javapackage mylib.test.ejb.connDB;import java.rmi.*;
import javax.ejb.*;
public interface connHome extends EJBHome{   conn create() throws RemoteException,CreateException;}/////////////////////////////////////////////////////////////////////////////////connBean.javapackage mylib.test.ejb.connDB;import java.sql.*;
import mylib.util.db.*;
import javax.ejb.*;
public class connBean implements SessionBean {  public connBean() {
  }
  public void ejbCreate(){}
  public void ejbRemove(){}
  public void ejbPassivate(){}
  public void ejbActivate(){}
  public void setSessionContext(SessionContext sc){}  public ResultSet sqlQuery(String sqlStr) throws SQLException {
    ResultSet rs ;
    ConnectionParam cparam = new ConnectionParam("oracle.jdbc.driver.OracleDriver",
                                                 "jdbc:oracle:thin:@192.168.168.18:1521:orcl",
                                                 "user01",
                                                 "pwd01"
                                                 );
    ConnectionFactory factory = null;
    Connection conn = null;
    try{
      factory = new ConnectionFactory(cparam,new FactoryParam());
      conn = factory.getFreeConnection();
    }catch(Exception e){
      e.printStackTrace();
    }    Statement stmp = conn.createStatement();
    rs = stmp.executeQuery(sqlStr);
    //stmp.close();
    //factory.close();
    return rs;
  }}

解决方案 »

  1.   

    在jsp调用:
    index.jsp<%@ page language="java" contentType = "text/html;charset=gb2312"%>
    <%@ page import="mylib.test.ejb.connDB.conn"%>
    <%@ page import="mylib.test.ejb.connDB.connHome"%>
    <%@ page import="java.sql.*,javax.ejb.*,javax.rmi.*,java.rmi.*,javax.naming.*"%><%
      if(request.getMethod().equals("POST")){
        conn conn1 = null;
    try{
            InitialContext ic = new InitialContext();
        Object objRef = ic.lookup("java:comp/env/ejb/MyConnOracle");
        connHome home = (connHome)PortableRemoteObject.narrow(objRef, connHome.class);
        conn1 = home.create();
    }catch(Exception e){
    out.println(e.toString());
    } String sqlStr = request.getParameter("sqlStr");
    ResultSet rs = conn1.sqlQuery(sqlStr);
    while(rs.next()){
    out.println(rs.getString("com_reg_no"));
    }}else{
    %>
    <form name="form1" action="./index.jsp" method="POST">
    <input type="text" name="sqlStr" value="" size="100"><br><br><input type="submit" name="Submit" value="提 交">
    </form>
    <%
    }
    %>
      

  2.   

    我的应用服务器是sun的自带的j2ee1.3
      

  3.   

    看看<<The Java Tutorial>>
    http://java.sun.com/docs/books/tutorial/security1.2/index.html
      

  4.   

    错误的原因是你没有取classloader的权限,检查一下你的security policy
      

  5.   

    请问一下,具体怎么修改,我修改了一下%J2EE%/config/lib/security/server.policy文件,给了它权限,但是问题依旧啊