Spring 3 MVC,Tomcat Web App在几个请求后挂起

时间:2011-07-28 14:06:37

标签: java model-view-controller spring spring-mvc

我创建了(我的第一个)小弹簧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

1 个答案:

答案 0 :(得分:2)

我发现了这个错误。看着错误的地方。

错误确实发生在getUserInfo()中。但这是我的数据库连接方法的一个更普遍的问题。

每次进行数据库查询时,我都会调用:connection = dataSource.getConnection(); 这导致泄漏。 最好检查是否已有连接:-D

if (connection == null || connection.isClosed()) {
    connection = dataSource.getConnection();
}

BTW我使用嵌入式Derby数据库,由jdbcTemplate访问。

有时我们看不到树木: - )

感谢您的努力。 祝你今天愉快 的Sascha