这是我在 JSF 2.0 和 Glassfish 3.1 上运行良好的代码
public static Connection connect(){
try{
String userName = "Defend";
String password = "123456";
String url = "jdbc:sqlserver://localhost;databaseName=ProductDB;";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(url,userName,password);
System.out.println("Connected-DB");
return con;
}catch(Exception e){
System.out.println(e);
return null;
}
}
现在,当我将其转移到 Glassfish 4.0 时,会出现以下警告和错误
严重:无法从初始化时间 FacesContext 获取 InjectionProvider。这个容器是否实现了 Mojarra 注入 SPI?
严重:无法调用 @PreDestroy 注释的方法,因为找不到 InjectionProvider。这个容器是否实现了 Mojarra 注入 SPI?
严重:无法从初始化时间 FacesContext 获取 InjectionProvider。这个容器是否实现了 Mojarra 注入 SPI?
严重:无法调用 @PreDestroy 注释的方法,因为找不到 InjectionProvider。这个容器是否实现了 Mojarra 注入 SPI?
严重:无法从初始化时间 FacesContext 获取 InjectionProvider。这个容器是否实现了 Mojarra 注入 SPI?
严重:无法调用 @PreDestroy 注释的方法,因为找不到 InjectionProvider。这个容器是否实现了 Mojarra 注入 SPI?
警告:Web 应用程序 [/CyberD] 注册了 JDBC 驱动程序 [com.microsoft.sqlserver.jdbc.SQLServerDriver],但在 Web 应用程序停止时未能取消注册。为防止内存泄漏,已强制注销 JDBC 驱动程序。
严重:Web 应用程序 [/CyberD] 创建了一个 ThreadLocal,其键类型为 [com.microsoft.sqlserver.jdbc.ActivityCorrelator$1](值 [com.microsoft.sqlserver.jdbc.ActivityCorrelator$1@163a1f8f]),值类型[com.microsoft.sqlserver.jdbc.ActivityId](值 [1a62bb37-9aa5-4b36-8185-354eca0f8da0-3])但在 Web 应用程序停止时无法将其删除。线程将随着时间的推移而更新,以尝试避免可能的内存泄漏。
以及在调用此 connect() 函数时给出 NullPointerException。请指导我