SSH框架專案配置和啟動的載入順序及請求的執行順序

2022-07-06 16:57:08 字數 3397 閱讀 2404

1:*****=配置和啟動*****=

(1)配置web.xml

1

<

context-param

>

2<

param-name

>contextconfiglocation

param-name

>

3<

param-value

param-value

>

4context-param

>

5<

listener

>

6<

listener-class

>org.springframework.web.context.contextloaderlistener

listener-class

>

7listener

>

解析:(2)配置struts-config.xmlstruts-config.xml檔案中,注意其標籤的type屬性,設定為spring的**action類。由此真正的action建立交給spring完成。

若不使用spring,type設定為com.project.loginaction等自定義類;使用spring,type設定為"org.springframework.web.struts.delegatingactionproxy"。

但"仍需構建具體action",並編寫action的具體方法。該action"在spring的配置中引用",詳見"(4)配置spring"。

相當於將struts配置轉移到了spring配置中,此處即struts與spring框架結合的關鍵結合點。

配置範例:

1

<

struts-config

>

2<

form-beans

>

3<

form-bean

name

="loginform"

type

="com.project.usermgr.web.forms.loginactionform"

/>

4form-beans

>

5<

>

6<

action

path

="/login"

7type

="org.springframework.web.struts.delegatingactionproxy"

8name

="loginform"

9scope

="request"

10>

11<

forward

name

="success"

path

="/login_success.jsp"

/>

12action

>

13>

14<

message-resources

parameter

="messageresources"

/>

15struts-config

>

由spring來建立和管理action,並向action注入model層service物件。

設定scope="prototype"後可使每個執行緒都有乙個新的action,從而解決struts1.x的action執行緒安全問題。

注意:①必須使用name屬性,且name屬性的值必須和struts-config.xml檔案中標籤的path屬性值一致

②必須配置model層service物件,如usermanager等。

配置範例:

1

<

bean

name

="/login"

class

="com.project.usermgr.web.actions.loginaction"

scope

="prototype"

>

2<

property

name

="usermanager"

ref="usermanager"

/>

3bean

>

(4)構建actionmodel層service物件由spring"自動注入",因此無需手動構建該物件,也無需獲取beanfactory。通過"自動注入"的方式獲取物件,即"依賴注入"。

注意,相關物件須提供set方法,以方便spring注入。

1

public class loginaction extends action

13//須提供set方法,以方便spring注入。

14public void setusermanager(usermanager usermanager)

17 }

2:*****==請求的執行*****==--------------請求的過程:-------------

1.伺服器啟動,建立struts2的filter控制器,建立spring容器物件.

例項化struts2控制器時,載入struts.xml,struts-default.xml,default.properties,struts-plugin.xml等struts相關配置

2.客戶瀏覽器傳送請求,請求到達struts2的filter控制器

3.如果是action請求,struts2控制器根據struts.xml的配置,

要呼叫乙個action物件處理.

4.struts2控制器呼叫struts-spring-plugin.jar提供的objectfactory

獲取乙個action物件.

方法一:objectfactory利用元素的class屬性去spring容器尋找id=class的bean物件.

*方法二:如果按上述方法找不到,objectfactory會利用class指定值建立乙個物件.然後將spring容器的dao,service按名稱匹配規則給action注入.

5.struts2控制器呼叫action執行業務處理,處理完畢,返回乙個string標識

6.struts2控制器根據string標識呼叫result元件,生成響應資訊

7.將響應資訊給客戶瀏覽器輸出,完成響應處理.

配置SSH框架的心得

開發工具為myeclipse,開發工具自帶struts2,hibernate,spring框架的匯入。在新建的專案上右擊myeclipse project facets install struts。這樣就引入了struts2的包。同理,spring和hibernate都一樣。但這樣的後果是,有很多...

SSH框架的專案執行流程

1.伺服器啟動,建立struts2的filter控制器,建立spring容器物件.1 例項化struts2控制器時,載入struts.xml,struts default.xml,default.properties,struts plugin.xml等struts相關配置2.客戶瀏覽器傳送請求,請...

Nginx啟動,停止和重新載入配置

nginx配置檔案 nginx及其模組的工作方式是由配置檔案指定,預設情況下配置檔案被命名為nginx.conf並且存放在 usr local nginx conf etc nginx usr local etc nginx nginx命令 要啟動nginx直接執行nginx檔案,啟動後可以使用以下...