request 生命週期及參數信息

     當從一個jsp發出一個request,即表明了這個request生命週期的開始,當到達action之後一般有兩種處理request的方式,一種爲request.getDispatcher.forward,一種是response.sendRedirect.
對於request的forward,該request的生命週期將會繼續延續下去,當採用forward如果到達JSP頁面,那麼之前從第一個JSP頁面中發送出來的request的消息將仍然存在,新的頁面同樣能夠取得該request裏所包含的一些信息,比如之前的JSP發送request中所包含的參數信息.事實上,它們是同一個request.

而如果是使用response.sendRedirect那麼該request的生命週期將結束.

     對於request,對request信息的傳遞,只有setAttribute()這一個方法,該方法將設置一個Object對象到request中.
但是,如果當一個request是從jsp從發出,包含的信息段爲param1=test這樣的方式,那麼只能通過getParameter()得到,getAttribute()是得不到param1的value的.
     再次,對於JSP的EL表達式,${}這中方式只能得到setAttribute中的值,因此當從一個JSP發送request到達action並且被forward到新的JSP中時,如果想在該JSP中取得JSP發送時的參數信息需要寫爲這種形式:${param.patam1}.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章