sql >> Base de Datos >  >> RDS >> Mysql

Cómo hacer una conexión de base de datos en la aplicación de Apache Tomcat usando Struts 2

Poniendo @Resource en la propiedad del bean de acción no tiene sentido. Si necesita más información sobre inyectar recursos debe leer un tutorial . En su lugar, cree un ServletContextListener y poner anotación allí. En el atributo de contexto de conjunto de eventos inicializados de contexto

public class MyServletContextListener implements ServletContextListener {

  @Resource(name="jdbc/dbmy")
  private DataSource ds;

  @Override
  public void contextInitialized(ServletContextEvent servletContextEvent) {
    System.out.println("contextInitialized");
    ServletContext context = servletContextEvent.getServletContext();
    context.setAttribute("ds",ds);
  }

  @Override
  public void contextDestroyed(ServletContextEvent servletContextEvent) {
    System.out.println("contextDestroyed");

  }
}

web.xml (debe estar en WEB-INF):

<listener>
  <listener-class>com.servlet.MyServletContextListener</listener-class>
</listener>

ahora puede obtener la fuente de datos en el método de ejecución

ds = (DataSource)ServletActionContext.getServletContext().getAttribute("ds");