【发布时间】:2015-04-29 17:04:47
【问题描述】:
给定两个 jsp:myFirstJsp.jsp、mySecondJsp.jsp
myFirstJsp.jsp 从另一个表单接收提交参数,将一些值存储在数据库中,如果一切顺利,则转发到mySecondJsp.jsp,发送几个参数如下:
<jsp:forward page="mySecondJsp.jsp">
<jsp:param name="param1" value='<%=request.getParameter("param1")%>'/>
<jsp:param name="param2" value='<%=request.getParameter("param2")%>'/>
</jsp:forward>
一切正常,但如果用户按F5或刷新页面,就会出现异常,因为URL仍然指向“myFirstJsp.jsp”,所以基本上会出现重复插入异常,我想防止这种情况发生。
另一个可用的选项是使用sendRedirect 而不是转发,如下所示:
response.sendRedirect( "mySecondJsp.jsp?param1=somevalue¶m2=somevalue" );
但是,在这种情况下,用户可以看到参数,尽管通常它们不会更改它们,但我也需要防止这种情况发生。
有什么办法可以避免这两种情况?
【问题讨论】: