Bir bağlantı hizmeti sınıfı olabilir: Aşağıdaki eklemeniz gerekir sizin web.xml olarak
public class ConnectionDB {
private Context initContext;
private static Context webContext;
private static DataSource dataSource = null;
private ConnectionDB() {
try {
initContext = new InitialContext();
webContext = (Context) initContext.lookup("java:/comp/env");
dataSource = (DataSource) webContext.lookup("name_ds");
} catch (NamingException e) {
e.printStackTrace();
}
}
public static DataSource getDS() {
if (dataSource == null) {
new ConnectionDB();
}
return dataSource;
}
}
(bu örnek zaten bir veri kaynağı uygulama sunucusu kurulum var varsayar):
<resource-ref>
<res-ref-name>name_ds</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
@ManagedBean olarak sahip olmadığına dikkat edin. aşağıdaki gibi
Sonra siz, diğer hizmet sınıflarında bağlantınızı başlatmak için o sınıfı kullanabilirsiniz:
public class Test{
private Connection conn;
private PreparedStatement prstmt;
private ResultSet rs;
public void testMethod() {
try {
conn = ConnectionDB.getDS().getConnection();
//create your sql, result sets and prepare statements
}
catch (SQLException e) {
e.printStackTrace();
}
}
}