InitialContext ic = new InitialContext();
session = (Session) new InitialContext().lookup("jdbc/mysql");
比如说我在后台 判断下 是否有个jdbc/mysql的名字如果没有的话 前台jsp弹出层 提示 没有这个JNDI名 请在应用服务器的控制台人工创建一个这个JNDI(可能是数据库连接池,可能是JMS发消息的连接池)用InitialContext 发现没有这个方法呢···

解决方案 »

  1.   

    可以考虑在lookup语句嵌套try..catch代码,在catch里面讲页面重定向到一个错误页面,给用户提示jndi不存在。InitialContext不存在属于你部署问题,不应将这个问题带给用户。
    其实总体来说第一个问题也是部署和开发问题,无需给最终用户/专业维护人员提示。
      

  2.   


    嗯 只要报错(NamingNotFound就知道没有这个JNDI了)
    不过怎么才能 将服务器中的JNDI的所有名字 获取到 然后再页面上显示呢···
      

  3.   

       Context ic = new InitialContext();
        DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/books");          
        con = source.getConnection();