我希望用户发帖,处理帖子中的数据并将请求转发到 jsp 页面。jsp 页面被发送回给用户,但是服务器应该做一份工作。这项工作需要很多时间,所以用户不应该等待它。
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
//... get posted data ...
request.getRequestDispatcher("/page.jsp").forward(request, response);
//do-someting
}
我希望在连接关闭并且用户获取 page.jsp 后完成“做某事”。当然,“做某事”完全是服务器端的,比如更新数据库等。所以即使用户离开页面,服务器也会继续工作。在转发到 jsp 页面之后,我尝试刷新并关闭 servlet 中的输出流,但这会导致异常。jsp 页面中的刷新和关闭也会导致异常。我怎样才能做到这一点?