簡體   English   中英

JSP / Servlet驗證-轉發與重定向

[英]JSP/Servlet validation - forward vs redirect

我想完成以下工作:

我有一個用JSP表示的表單–我們稱它為input.jsp 該表單提交給Servlet,該Servlet將在數據庫中創建對象-稱為CreateServlet 成功提交表單后,servlet應將用戶引導回input.jsp並顯示成功消息。 驗證失敗時,它應重定向回input.jsp ,顯示錯誤消息,並保留輸入值。

我可以想到一些選擇:

  1. 在驗證失敗時,我可以使用RequestDispatcher來執行對input.jsp的轉發。 這將使我能夠輕松顯示表單中的驗證錯誤和輸入參數。 但是,我知道在執行編輯操作的情況下不應該使用轉發 ,所以當請求成功時,我不應該轉發,而應該重定向。 重定向的問題在於,除非我在URL中傳遞屬性(例如input.jsp?success=true ,否則我無法輕松設置屬性。

  2. 我可以在會話中存儲驗證消息,成功消息和輸入值,並始終執行重定向。 JSP顯示頁面之后,它可以從會話中刪除這些屬性。

我使用的是普通的servlet和JSP,而不是Struts之類的框架。 在這種情況下,建議的做法是什么?

如果我是您,我將選擇第二個選項。 我的原因 :

  • 使它成為封裝該形式的所有輸入的對象。 如果我需要向表單添加屬性,它將更易於維護。
  • 它更安全,因為您的網址將從屬性中清除。

如果您使用諸如struts這樣的框架,這將非常容易。 一切都會由他們來處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM