Я очень старался выяснить, как подключить это подключение к базе данных, но не удалось, и, следовательно, это сообщение здесь.Как мне вызвать Config.java в моем сервлете?
В основном, я использую этот код, который нашел мой этот сайт - тот, который преподается BalusC.
public class Config implements ServletContextListener {
private static final String ATTRIBUTE_NAME = "config";
private DataSource dataSource;
@Override
public void contextInitialized(ServletContextEvent event) {
ServletContext servletContext = event.getServletContext();
String databaseName = servletContext.getInitParameter("pract1");
try {
dataSource = (DataSource) new InitialContext().lookup("java:/comp/env/jdbc/TestDB");
} catch (NamingException e) {
throw new RuntimeException("Config failed: datasource not found", e);
}
}
@Override
public void contextDestroyed(ServletContextEvent event) {
System.out.println("contextDestroyed....");
}
public DataSource getDataSource() {
return dataSource;
}
public static Config getInstance(ServletContext servletContext) {
return (Config) servletContext.getAttribute(ATTRIBUTE_NAME);
}
}
Он объяснил, что у вас есть этот класс, и соединение будет запускаться один для всех сервлетов, поэтому я подумал, что это хорошая практика, чтобы сделать это.
Теперь проблема заключается в том, что я не знаю, как подключить подключение к базе данных, которое настроено в Config, файле context.xml и т. Д. Для работы в сервлет.
Вот что я пытался, но он не работает из:
Connection con = null;
Config a = new Config();
con = (Connection) a.getDataSource();
DBConnect dbConnect = new DBConnect();
con = dbConnect.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT * FROM members");
Я надеюсь, что кто-то может сказать мне, как довести соединение в моем doPost Servlet.
Что я s 'a' in' con = (Connection) a.getDataSource(); ' –
Извините, я пропустил эту строку: Config a = new Config(); –