Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So stellen Sie eine Datenbankverbindung in der Anwendung von Apache Tomcat mit Struts 2 her

Setzen von @Resource auf der Aktionsbohneneigenschaft macht keinen Sinn. Wenn Sie weitere Informationen zum Injizieren von Ressourcen benötigen Sie sollten ein Tutorial lesen . Erstellen Sie stattdessen einen ServletContextListener und fügen Sie dort eine Anmerkung ein. Bei kontextinitialisiertem Ereignis Kontextattribut setzen

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 (sollte in WEB-INF stehen):

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

Jetzt können Sie die Datenquelle in der Ausführungsmethode erhalten

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