[英]jsp forward / sendredirect issue
給出兩個jsp: myFirstJsp.jsp
, mySecondJsp.jsp
myFirstJsp.jsp
從另一個表單接收提交參數,在DB中存儲一些值,如果一切都成功,則轉發到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
而不是forward,如下所示:
response.sendRedirect( "mySecondJsp.jsp?param1=somevalue¶m2=somevalue" );
但是,在這種情況下,參數對用戶是可見的,雖然通常它們不會改變它們,但我也需要防止這種情況。
有什么辦法可以避免這兩種情況嗎?
您可以使用以下命令在myFirstJsp.jsp中設置請求參數並在mySecondJsp.jsp上獲取它:
request.setAttribute("param_name","param_value");
request.getAttribute("param_name");
類似地,您可以將值放在會話中。
但是,如果您想要防止表中的記錄重復,那么您可以在數據庫中編寫一個過程來處理這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.