Struts2訪問Servlet API的三種方式

2021-08-08 08:56:33 字數 1694 閱讀 1457

struts2訪問servletapi的方式有:解耦合方式和耦合方式

通過actioncontext類來實現。但是只能獲得request物件,而得不到response物件。

actioncontext是action的上下文物件,action執行期間所用到的資料都儲存在actioncontext中,例如session會話和客戶端提交的引數等資訊。

actioncontext類中包含的常用方法:

static actioncontext getcontext():靜態方法,獲取系統的actioncontxt物件。

也就是說這種方式是通過得到乙個actioncontxt的物件,然後通過這個物件獲得servlet的一些資料。

object get(object key ):該方法類似於httpservletrequest的getattribute(string name) 方法。

map getparameters():獲取所有的請求引數,類似於httpservletrequest物件的getparametermap()方法。

map getsession():返回乙個map物件,該map模擬了httpsession例項。

void setsession(map session):直接傳入乙個map例項,講該map例項的key-value轉換成session的屬性名屬性值。

就相當於request物件,然後通過向map集合中以鍵值對的形式進行儲存。

actioncontext.getcontext().put(key, value);

//通過get方法獲得指定鍵對應的值

actioncontext.getcontext().get(key);

//通過向map集合中以儲鍵值對的形式 向session中儲存值

actioncontext.getcontext().getsession().put(key, value);

actioncontext.getcontext().getsession().get(key);

通過servletactioncontext類來實現。既可以得到request物件,又能獲得到response物件。可以看到很多方法都是靜態方法

static sevletcontext getsevletcontext():取得web應用的servletcontxt物件。

static pagecontext getpagecontext():取得web應用pagecontext物件。

static httpservletrequest getrequest():直接獲得request物件

static httpservletresposne getresponse():直接獲得response物件

//獲得request物件

//獲得response物件

//獲得request和response物件後,就可以呼叫servletapi中對應的方法了

servletactioncontext.getrequest().setattribute(arg0, arg1);

通過實現指定介面servletcontextaware,servletrequestaware,servletresponseaware,這種方式不推薦使用,與servletapi的耦合性大。

Struts2訪問ServletAPI方法

一 struts2通過在action中訪問servletapi a struts2通過actioncontext類來訪問servletapi b 所屬包 com.opensymphony.xwork2 c 常用方法 i.map getparameters 獲取所有的請求引數資訊,此map的key是s...

Struts2 訪問web元素

訪問web元素的四種方法 耦合,依賴注入 耦合,非依賴注入 非耦合,依賴注入 非耦合,非依賴注入 耦合 可以得到httpservletresponse,httpservletrequest,httpsession等型別物件。能直接操作到真正的web元素。非耦合 得到的是由struts封裝好的map型...

Struts2字尾 深入Struts2

一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...