我创建了(我的第一个)小弹簧3 MVC应用程序,但遇到了一个对我来说有点神秘的问题。
应用程序有一些表单来操作数据库。我创建了一个Controller Java类,它将所有请求映射到java方法(参见代码)。 在浏览器中发出一些请求之后,Web应用程序崩溃了。操作数据库条目的代码被成功调用,但页面的重新加载似乎失败了。
控制器类:
@RequestMapping("/usermanager")
public String getUserInfo(Map<String, Object> map) throws ServletException {
try {
map.put("userInfo", userService.getUserInfo());
} catch (Exception e) {
throw new ServletException(e);
}
return "usermanager";
}
@RequestMapping("/updateUserInfo")
public String updateUserInfo(@ModelAttribute("userInfo") User user) throws NamingException, SQLException {
userService.storeUserInfo(user);
return "redirect:/service/usermanager";
}
结构非常简单,调用请求usermanager来显示表数据。该站点显示一个表单,我可以在其中编辑我的数据,提交表单调用updateUserInfo请求。 几次后,请求在返回“usermanager”;。
时挂起有人对此行为有解释,还是一个想法?
编辑: 顺便说一句:没有例外或其他。网络应用程序只是挂起。
非常感谢, 关心Sascha
答案 0 :(得分:2)
错误确实发生在getUserInfo()中。但这是我的数据库连接方法的一个更普遍的问题。
每次进行数据库查询时,我都会调用:connection = dataSource.getConnection();
这导致泄漏。
最好检查是否已有连接:-D
if (connection == null || connection.isClosed()) {
connection = dataSource.getConnection();
}
BTW我使用嵌入式Derby数据库,由jdbcTemplate访问。
有时我们看不到树木: - )
感谢您的努力。 祝你今天愉快 的Sascha