Struts與Servlet API解耦的訪問方式

2021-07-14 00:22:11 字數 1418 閱讀 4232

非ioc

方式:

1、struts2

對httpservletrequest

和servletcontext

進行了封裝,構造了三個

map物件來替代這三種物件

public class loginaction implements action

2、想要在

action

類中直接使用

這些物件

public class loginaction implements action

ioc方式:

1、在action

類中實現某些特定的介面的方式,讓

struts2

框架在執行時向

action

例項注入

request

、session

和物件。

public map request;//在這裡將通過ioc的方式注入,注意是map型別

public map session;

public user user;

public string execute() throws exception }

2、action

類還可以實現

servletrequestaware

和servletcontextaware

介面,由

struts2

框架向action

例項注入

和servletcontext

物件。

public class loginaction implements action,servletrequestaware,servletcontextaware 	

}

ioc(inversion of control):控制反轉

不建立物件,但是描述建立它們的方式。在**中不直接與物件和服務連線,但在配置檔案中描述哪乙個元件需要哪一項服務、容器負責將這些聯絡在一起。

ioc的本質是實現了物件之間依賴關係的轉移。通過使用

spring

框架,開發人員將不必自己在**中維護物件之間的依賴關係,只需在配置檔案中進行設定就可以了。

spring

會自動地依據配置資訊來維護物件之間的依賴關係,將被依賴的物件設定給依賴物件。(依賴)控制權由應用**中轉到了外部容器,控制權的轉移,即所謂的「反轉」,換句話說,就是由容器控制程式之間的(依賴)關係,而非傳統實現中由程式**直接操控。

Struts安裝與使用

struts可以執行在任何乙個支援jsp1.2和servlet2.3的web container中struts將所有的請求提交到同乙個中心控制器,org.apache.struts.action.actionservlet 類 web.xml配置 servlet name action servle...

Struts2與Struts1的區別

struts2其實並不是乙個陌生的web框架,struts2是以webwork的設計思想為核心,吸收了struts1的優點,因此,可以認為struts2是struts1和webwork結合的產物。簡單來說二者的區別是 乙個是stuts1 乙個是stuts2,這是最大的區別,技術方面,stuts1有個...

Struts2與Struts1的區別

struts2其實並不是乙個陌生的web框架,struts2是以webwork的設計思想為核心,吸收了struts1的優點,因此,可以認為struts2是struts1和webwork結合的產物。簡單來說二者的區別是 乙個是stuts1 乙個是stuts2,這是最大的區別,技術方面,stuts1有個...