samtiger
QQ:418148757
Name:yangchuan
BlogJava
首頁
新隨筆
聯系
聚合
管理
數據加載中……
關于spring2與struts1整合 的DelegatingActionProxy 委托方式及一些問題思考
spring與struts結合,很多人都說必須要在struts-config.xml配置文件里加上org.springframework.web.struts.ContextLoaderPlugIn插件,其實這個說法不一定,spring是先查找的struts-config.xml里的配置,如果沒有,再去查找web.xml里邊的配置的。所以我們只需要配置web.xml就可以了??纯创a,從DelegatingActionProxy 類中查看有如下代碼:
protected
Action getDelegateAction(ActionMapping mapping)
throws
BeansException
{
WebApplicationContext wac
=
getWebApplicationContext(getServlet(), mapping.getModuleConfig());
String beanName
=
determineActionBeanName(mapping);
return
(Action) wac.getBean(beanName, Action.
class
);
}
上邊的代碼是需要一個spring的應用環境對象,繼續察看getApplicationContext的代碼,如下:
protected
WebApplicationContext getWebApplicationContext(
ActionServlet actionServlet, ModuleConfig moduleConfig)
throws
IllegalStateException
{
return
DelegatingActionUtils.findRequiredWebApplicationContext(actionServlet, moduleConfig);
}
好,跟蹤到DelegatingActionUtils.findRequiredWebApplicationContext方法,如下:
public
static
WebApplicationContext findRequiredWebApplicationContext(
ActionServlet actionServlet, ModuleConfig moduleConfig)
throws
IllegalStateException
{
WebApplicationContext wac
=
getWebApplicationContext(actionServlet, moduleConfig);
//
If no Struts-specific context found, fall back to root context.
if
(wac
==
null
)
{
wac
=
WebApplicationContextUtils.getRequiredWebApplicationContext(actionServlet.getServletContext());
}
return
wac;
}
上邊的代碼(if(wac==null))說明當struts配置中沒有配置spring插件就回到web.xml配置中去找,你可以繼續跟蹤代碼就可以找到他是怎么創建applicationContext對象的。
問題2 :我們知道struts1里面的action是非線程安全的,(關于這一點,你可以查看struts的源代碼,可發現struts的在RequestProcessor里利用了享元模式來管理每一個action的,而RequestProcessor對象是存儲在servletContext里面的),我們用spring的DelegatingActionProxy 類作代理,所以是由 spring去創建具體的action類,這樣創建的action應該也是非線程安全的
因此,如果我們向用ioc的方式往action里注入一些屬性的話,想必會帶來并發訪問沖突問題,故,我們是不是需要在spring里配置action的bean的時候應該配置成非單例模式 (即singleton="false")呢;
問題3:在spring中bean的默認配制都是singleton="true"的,盡管我們把action配置成非一個實例,但是在我們的業務邏輯bean里我們還是沒有逃脫多線程并發訪問時帶來的安全隱患,因此,在我們編寫的業務邏輯層bean的時候,是不是也需要注意使用兩種方式來解決這個問題呢,我們要不就不要在該bean內寫類屬性(字段),要不就是在spring配置里將其配置成singleton="false"。
總結上述,其實我們在實現ssh1框架的時候,只要注意在action 里和業務邏輯bean里等地方都盡量取消類字段,就可以避免多線程并發訪問的問題
posted on 2008-01-25 17:42
sam.chuan.yang
閱讀(3223)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © sam.chuan.yang
<
2008年1月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
統計
隨筆 - 30
文章 - 4
評論 - 29
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆分類
23設計模式的理解(3)
(rss)
android(1)
(rss)
javascript 筆記(2)
(rss)
工具的使用(5)
(rss)
隨筆檔案
2012年7月 (1)
2012年5月 (1)
2012年4月 (1)
2011年12月 (1)
2010年10月 (1)
2010年6月 (1)
2010年5月 (1)
2010年4月 (1)
2009年3月 (1)
2008年11月 (4)
2008年9月 (1)
2008年4月 (2)
2008年3月 (1)
2008年1月 (2)
2007年12月 (1)
2007年10月 (4)
2007年9月 (6)
文章分類
flex基礎(4)
(rss)
文章檔案
2010年4月 (4)
相冊
再回北京
我的代碼
JSONTool.jar
(rss)
我寫的一個java轉換為json字串的小工具。可以將pojo。集合和map轉換為相應的json字串,以供前臺js調用. 使用方法JSONTool.toJSON(list)。或JSONTool.toJSON(pojo)?;騄SONTool.toJSON(map)。都會返回一個json格式的字串,
搜索
最新評論
1.?re: flex之彈出窗口數據傳遞[未登錄]
123123
--123123
2.?re: flex之彈出窗口數據傳遞
@aaaa
撒旦法都是
--的
3.?re: 設計模式之單例模式[未登錄]
wole asd a
--oscar
4.?re: flex之彈出窗口數據傳遞
fdas
--fdsa
5.?re: flex之彈出窗口數據傳遞
電飯鍋電飯鍋
--二
閱讀排行榜
1.?設計模式之狀態模式(5898)
2.?關于showModalDialog參數說明(4162)
3.?關于spring2與struts1整合 的DelegatingActionProxy 委托方式及一些問題思考(3223)
4.?struts2驗證失敗后返回input,select中list數據丟失問題(2665)
5.?CruiseControl+maven2+SVN+apache+ldap(或其它)(2662)
評論排行榜
1.?spring2.04+hibernate3.2+struts2+ajax中文亂碼問題(3)
2.?設計模式之單例模式(2)
3.?關于java數據類型和參數(2)
4.?關于showModalDialog參數說明(2)
5.?struts2驗證失敗后返回input,select中list數據丟失問題(2)
主站蜘蛛池模板:
美女视频黄的免费视频网页
|
老司机午夜在线视频免费观
|
人人揉揉香蕉大免费不卡
|
91麻豆国产自产在线观看亚洲
|
特级av毛片免费观看
|
免费A级毛片在线播放不收费
|
国产成人亚洲综合无
|
国产午夜无码视频免费网站
|
4444亚洲国产成人精品
|
精品视频在线免费观看
|
久久久久亚洲av无码尤物
|
一级毛片免费观看不卡的
|
亚洲人和日本人jizz
|
四虎影视免费在线
|
亚洲av乱码一区二区三区按摩
|
又黄又爽无遮挡免费视频
|
ssswww日本免费网站片
|
久久亚洲国产欧洲精品一
|
久久午夜羞羞影院免费观看
|
wwwxxx亚洲
|
www国产亚洲精品久久久
|
国产午夜精品理论片免费观看
|
亚洲AV无码成人精品区天堂
|
91免费国产在线观看
|
AV激情亚洲男人的天堂国语
|
亚洲欧洲日产国码高潮αv
|
国产婷婷成人久久Av免费高清
|
美女免费精品高清毛片在线视
|
中文字幕无码精品亚洲资源网
|
久久精品国产这里是免费
|
在线aⅴ亚洲中文字幕
|
亚洲成人高清在线
|
一级毛片不卡片免费观看
|
亚洲欧美国产欧美色欲
|
久久久久亚洲精品男人的天堂
|
99re6在线精品视频免费播放
|
日韩中文字幕免费
|
国产在线观a免费观看
|
91丁香亚洲综合社区
|
亚洲综合另类小说色区色噜噜
|
毛片免费全部播放无码
|