sql >> Database >  >> RDS >> Mysql

Hoe een databaseverbinding te maken in toepassing van Apache Tomcat met behulp van Struts 2

@Resource op de action bean eigenschap heeft geen zin. Als u meer informatie nodig heeft over het injecteren van middelen je zou een zelfstudie moeten lezen . Maak in plaats daarvan een ServletContextListener en zet daar een aantekening. Op context geïnitialiseerde gebeurtenisset contextattribuut

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 (moet in WEB-INF staan):

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

nu kunt u de gegevensbron ophalen in de methode execute

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



  1. Fulltext zoeken met InnoDB in MySQL

  2. Problemen met MySQL-query met AVG()

  3. Schakel alle tabelindexen in Oracle uit en later weer in

  4. PayPal ODBC-stuurprogramma