Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como fazer uma conexão de banco de dados em aplicação do Apache Tomcat usando Struts 2


Colocando @Resource na propriedade do bean de ação não faz sentido. Se você precisar de mais informações sobre injetar recursos você deve ler um tutorial . Em vez disso, crie um ServletContextListener e colocar anotação lá. No atributo de contexto do conjunto de eventos inicializado no 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 (deve estar em WEB-INF):
<listener>
  <listener-class>com.servlet.MyServletContextListener</listener-class>
</listener>

agora você pode obter a fonte de dados no método execute
ds = (DataSource)ServletActionContext.getServletContext().getAttribute("ds");