【问题标题】:JdbcTemplate.update doesn't update my databaseJdbcTemplate.update 不更新我的数据库
【发布时间】:2016-02-08 09:57:43
【问题描述】:

在我的 .jsp 文件中,我正在调用一个对象,该对象假设使用 JdbcTemplate.update 更新我的数据库。我正在使用 Spring MVC 框架、tomcat 和 mySql。感谢您的帮助。

我的 .jsp 文件中的代码:

 <% FileDataDAO fileDataDAO = new FileDataDAO();

          fileDataDAO.test();

 %>

我的 .java 文件中的代码:

@Component("fileDataDao")
public class FileDataDAO {

private JdbcTemplate jdbc;
private DataSource dataSource;

public FileDataDAO() {}

@Autowired
public void setDataSource(DataSource dataSource) {

    this.dataSource = dataSource;
    jdbc = new JdbcTemplate(dataSource);

}
public void test(){

    String sql = "INSERT INTO myguests(id) VALUES(?)";
    jdbc.update(sql,5);
}
}

daoContext.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:jee="http://www.springframework.org/schema/jee"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/jee 
         http://www.springframework.org/schema/jee/spring-jee.xsd">


   <context:component-scan base-package="com.springapp.mvc.dao">
          <context:exclude-filter type="annotation" 
             expression="org.springframework.stereotype.Controller"/>
   </context:component-scan>

   <jee:jndi-lookup jndi-name="jdbc/TestDB" id="dataSource"
          expected-type="javax.sql.DataSource"/>


 </beans>

具体错误:

    org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/pages/home.jsp at line 54

    51: 
    52:           <% FileDataDAO fileDataDAO = new FileDataDAO();
    53: 
    54:     fileDataDAO.test();
    55: 
    56: %>
    57: 


    Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:574)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:172)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1228)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1011)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:955)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

【问题讨论】:

  • 仅供参考,在jsp中使用scriptlet是一种不好的做法。你用的是Spring MVC,所以直接把你的业务逻辑放到控制器里面。
  • 谢谢。我会最清楚地改变它。我只是想在这一点上学习。一旦我对 Spring MVC 的工作原理有了更好的了解,我将对其进行微调。

标签: java jsp spring-mvc


【解决方案1】:

您创建了 FileDataDAO fileDataDAO = new FileDataDAO(),但您使用的是 Autowired。您需要从上下文中获取您的实例(spring、CDI...)

【讨论】:

  • 我确实有一个 daoContext.xml 文件,并且我确实在我的 web.xml 文件中设置了一个文件侦听器,告诉它加载它。 daoContext.xml 文件是您所指的还是不同的文件?我确实在上面添加了我的 daoContext 代码。我很抱歉我是 Spring MVC 的新手。感谢您的帮助。
  • 也许这可以帮助你:stackoverflow.com/questions/2139121/…
猜你喜欢
  • 2018-01-17
  • 1970-01-01
  • 2021-07-06
  • 1970-01-01
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多