Mysql
 sql >> Database >  >> RDS >> Mysql

Come effettuare una connessione al database nell'applicazione di Apache Tomcat utilizzando Struts 2

Mettere @Resource sulla proprietà del bean d'azione non ha senso. Se hai bisogno di ulteriori informazioni sull'iniezione di risorse dovresti leggere un tutorial . Crea invece un ServletContextListener e metti lì l'annotazione. Sull'evento inizializzato dal contesto, imposta l'attributo di contesto

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 (dovrebbe essere in WEB-INF):

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

ora puoi ottenere l'origine dati nel metodo di esecuzione

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