有个正在新增记录的页面 add.jsp,填写完后点击提交,假设提交给CRUDServlet,跳转到list.jsp,此时在list.jsp页面按 F5 刷新的话,会发现此条记录被插入了多次,很显然,是因为反复执行了CRUDServlet造成的,下面看解决办法。
在add.jsp页面上:
<%
request.getSession().setAttribute("token", true);
%>
在CRUDServlet上:
if (null != req.getSession().getAttribute("token"))
{
req.getSession().removeAttribute("token");
//插入数据库,显示list.jsp
}else{
//查找数据库,显示list.jsp
}
道理我想大家都看得懂,不知道这样会不会带来其他问题,至少我是这样解决的,大家可以狂吐槽 o(∩_∩)o...
注:多谢 @ jqbmaster 博友,某些情况下可以用 重定向 response.sendredirect() 改变了URL。
我的博客其他文章列表
http://my.oschina.net/helu