Action訪問Servlet的API_,主要訪問如下:
1.>獲取request對象
2.>獲取請求參數
3.>獲取response對象,可用於傳遞cookie
3.>獲取作用域對象,request,Session,application,並設置共享數據,
訪問方式一:
通過實現感知接口中的setter方法,講其setter方法中的request參數傳遞到本類中來:
即,在本類中定義一個成員變量,來接收setter方法中的request.
如果,還需要獲取response,Session,application等對象,,那麼同理只需再同時實現ServletResponseAware,
ApplicationAware,SessionAware接口,並實現其中的setter方法即可,如圖:
訪問方式二:通過struts的ServletActionContext工具類
通過該類中的靜態方法來獲取相應的request和response對象,
方法3:通過ActionContext工具類
該類為ServletAcitonContext的父類,表示Action的上下文對象,表示Action存在環境
通過該類中的getContext()方法創建該類對象,,再通過調用該類方法獲取相應對象,如使用getParameters()方法,,會返回
一個參數的屬性名和屬性值數組的Map,.而需要設置請求參數時,則通過向該得到的Map中添加鍵值對(即使用Map.put(key,value)方法;),
即可完成共享請求數據的封裝設置.
同樣的,對於Session和application,首先使用getSeesion(),和getApplication(),,這個方法也返回一個Map集合,同樣的,需要設置共享參數時,
則通過向該得到的Map中添加鍵值對(即使用Map.put(key,value)方法;),即可完成共享數據的封裝設置.如圖,