1. 程式人生 > >Struts 2訪問Servlet API

Struts 2訪問Servlet API

servlet中可以通過servlet API來獲取Session,在Struts中如何獲取Session呢?

    解析:將使用者名稱放入session 兩種方案

1. Servlet API解耦的訪問方式

    --->01.使用ActionContext類獲取ServletAPI物件對應的Map物件

    --->02.Struts2Action注入ServletAPI物件對應的Map物件

2. Servlet API耦合的訪問方式

解耦方式:

 

方案一: Servlet API進行封裝   ,藉助ActionContext

        提供了三個Map物件訪問requestsessionapplication作用域

        通過ActionContext類獲取這三個Map物件

                Object get("request")

                Map getSession()

     Map getApplication()

         案例:登陸成功後,記錄使用者名稱到Session中,登陸失敗,跳會登陸頁面

         步驟一:書寫Action

方案二:向Action中注入ServletAPI物件對應的Map物件

       步驟一:書寫Action

耦合方式:

      方式一:通過

ActionContext的子類ServletActionContext實現

     方式二:向Action例項注入Servlet API物件

2.Struts中如何儲存登陸使用者名稱 ,用Session機制

解析:在Servlet中如何獲取到Session物件?

  ----->request.getSession()

Struts中如何獲取session物件

 --->ActionContext

Struts中通過注入,核心介面 SessionAwaresetSession(Map<String,Object> map);