2015-04-08 30 views
0

我正在做我的第一個Web應用程序,並有一個關於請求/會話doGet/doPost的問題。首先,在一個名爲'userConnection'的servlet中,用戶必須通過輸入用戶名/密碼進行連接。然後我使用其他變量(用戶名,密碼等)創建一個bean'user'。我需要這個bean在接下來的servlet的邏輯,MAKE_OFFERServlets之間共享對象

在userConnection的doPost()方法我做

<..creating user bean object..> 
request.setAttribute("user", user); 
this.getServletContext().getRequestDispatcher(MAKE_OFFER).forward(request, response); 

MAKE_OFFER是URL到另一個servlet。在這個頁面中,用戶必須填寫表單以提供報價,並且我正在使用用戶bean信息進行一些驗證。但是由於getRequestDispatcher調用了doPost()方法,用戶沒有機會填寫表單,所以我得到的表單是空的錯誤。 用戶屬性應該是會話屬性而不是請求屬性嗎?有沒有一種方法可以將user用戶對象從userConnection servlet中帶到MAKE_OFFER servlet中,帶或不帶調用doPost?

感謝

回答

1

我覺得你有一對夫婦的問題在這裏:

  1. 如你所說你自己,你需要保留請求之間的客戶端狀態的機制。使用會話屬性是最常見和最簡單的方法;
  2. 看起來您正在將處理直接轉發到您的MAKE_OFFER servlet。相反,您需要轉發到包含您的優惠表單的頁面(大概是一個JSP)。表單submit應該隨後POST到您的MAKE_OFFER servlet。
+0

謝謝謝謝謝謝!我之前嘗試過,它不起作用,但我可能在jsp頁面名稱中有錯字-_- –