各位老大,用tomcat的連線池在application獲得連線的問題
public class DBConnection {
/**
* 構造方法
*/
public DBConnection(){
}
/** 建立連線
*/
public Connection createConnection() {
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sql");
if( ds != null){
return ds.getConnection();
}
}catch(NamingException e){
return null;
}catch(SQLException e){
return null;
}
return null;
}
//測試方法
public static void main(String[] args){
DBConnection dbc = new DBConnection();
try{
Connection con = dbc.createConnection();
System.out.println(con.toString());
PreparedStatement ptmt =
con.prepareStatement("select * from userinfo");
ResultSet rst = ptmt.executeQuery();
while(rst.next()){
System.out.println(rst.getString(1));
System.out.println(rst.getString(2));
}
rst.close();
ptmt.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
各為老大,大哥,大哥大,前輩
我用的是tomcat的內建連線池
在jsp頁面中我用上面的方法測試可以得到連線訪問資料庫
但是在applecation中我用這個main()方法測試,卻得不到連線
我設斷點除錯,
DataSource ds = (DataSource)ctx.looku("java:comp/env/jdbc/sql");
在這一句出現了異常,返回null
detailMessage: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
請各為老大指點,為什麼我在jsp頁面中可以獲得連線,而用applecation的main方法卻不行呢?
/**
* 構造方法
*/
public DBConnection(){
}
/** 建立連線
*/
public Connection createConnection() {
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sql");
if( ds != null){
return ds.getConnection();
}
}catch(NamingException e){
return null;
}catch(SQLException e){
return null;
}
return null;
}
//測試方法
public static void main(String[] args){
DBConnection dbc = new DBConnection();
try{
Connection con = dbc.createConnection();
System.out.println(con.toString());
PreparedStatement ptmt =
con.prepareStatement("select * from userinfo");
ResultSet rst = ptmt.executeQuery();
while(rst.next()){
System.out.println(rst.getString(1));
System.out.println(rst.getString(2));
}
rst.close();
ptmt.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
各為老大,大哥,大哥大,前輩
我用的是tomcat的內建連線池
在jsp頁面中我用上面的方法測試可以得到連線訪問資料庫
但是在applecation中我用這個main()方法測試,卻得不到連線
我設斷點除錯,
DataSource ds = (DataSource)ctx.looku("java:comp/env/jdbc/sql");
在這一句出現了異常,返回null
detailMessage: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
請各為老大指點,為什麼我在jsp頁面中可以獲得連線,而用applecation的main方法卻不行呢?
相關文章
- Tomcat 的 JDBC 連線池TomcatJDBC
- 某客戶系統tomcat連線池連線異常Tomcat
- 線上問題總結-獲取不到連線池(logback 配置+程式碼問題)
- 記錄連線數導致警報失效,連線池少問題
- DB2 獲取當前DB連線的application id, application handleDB2APP
- 【JDBC】使用OracleDataSource建立連線池用於連線OracleJDBCOracle
- 連線池
- 一次性講清楚「連線池獲取連線慢」的所有原因
- 關於在執行java連線MongoDB時遇到的連線超時問題JavaMongoDB
- golang連線MySQL時候的連線池設定GolangMySql
- Github ssh的連線問題Github
- Http持久連線與HttpClient連線池HTTPclient
- 連線池和連線數詳解
- ServiceStack.Redis的原始碼分析(連線與連線池)Redis原始碼
- HTTP連線池HTTP
- django連線池Django
- 【問題記錄】—SignalR連線斷線重連SignalR
- HikariCP連線池的學習
- Druid連線池引數maxWait配置錯誤引發的問題UIAI
- 在 Spring Boot 中使用 HikariCP 連線池Spring Boot
- MySQL SSL連線問題MySql
- 自定義連線池
- ElasticSearch連線池建立Elasticsearch
- Druid-目前最好的連線池UI
- C#中的連線池管理C#
- Swoole MySQL 連線池的實現MySql
- 關於canonmx538無線連線的問題
- MySql資料庫連線池專題MySql資料庫
- Jedis連線池究竟是何物|得物技術
- 【JDBC】java連線池模擬測試 連線oracleJDBCJavaOracle
- 資料訪問連線池和執行緒池執行緒
- 【Java】Spring和Tomcat自帶的連線池實現資料庫操作JavaSpringTomcat資料庫
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- [20200711]關於左右連線的問題.txt
- 檢測ftp連線問題FTP
- mysql odbc delphi連線問題MySql
- 設計一個可靠的連線池
- HikariCP-史上最快速的連線池