Вы не получаете источник данных от ServletContext
.
Если вы определили свой источник данных в struts-config.xml
(обратите внимание на регистр букв, все в нижнем регистре), тогда внутри вашего Action
вы получите свой источник данных, вызвав getDataSource(HttpServletRequest request)
или getDataSource(HttpServletRequest request, String key)
метод.
Пример:
public ActionForward
execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
javax.sql.DataSource dataSource;
java.sql.Connection myConnection;
try {
dataSource = getDataSource(request);
myConnection = dataSource.getConnection();
// do what you wish with myConnection
} catch (SQLException sqle) {
getServlet().log("Connection.process", sqle);
} finally {
//enclose this in a finally block to make
//sure the connection is closed
try {
myConnection.close();
} catch (SQLException e) {
getServlet().log("Connection.close", e);
}
}
}
Прочтите документацию Struts 1.x , в которой объясняется, как объявлять и извлекать источник данных через Struts.