【发布时间】: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