編程經(jīng)驗(yàn)系列Java學(xué)習(xí)雜談(九):Struts2
時(shí)間:2008-10-06 16:54:00 來(lái)源:無(wú)憂考網(wǎng) [字體:小 中 大]
簡(jiǎn)短回顧一段歷史:隨著時(shí)間的推移,Web應(yīng)用框架經(jīng)常變化的需求,產(chǎn)生了幾個(gè)下一代 Struts的解決方案。其中的Struts Ti 繼續(xù)堅(jiān)持 MVC模式的基礎(chǔ)上改進(jìn),繼續(xù)Struts的成功經(jīng)驗(yàn)。 WebWork項(xiàng)目是在2002年3月發(fā)布的,它對(duì)Struts式框架進(jìn)行了革命性改進(jìn),引進(jìn)了不少新的思想,概念和功能,但和原Struts代碼并不兼 容。WebWork是一個(gè)成熟的框架,經(jīng)過(guò)了好幾次重大的改進(jìn)與發(fā)布。在2005年12月,WebWork與Struts Ti決定合拼, 再此同時(shí),Struts Ti 改名為 Struts Action Framework 2.0,成為Struts真正的下一代。
看看Struts-2的處理流程:
1) Browser產(chǎn)生一個(gè)請(qǐng)求并提交框架來(lái)處理:根據(jù)配置決定使用哪些攔截器、action類和結(jié)果等。
2) 請(qǐng)求經(jīng)過(guò)一系列攔截器:根據(jù)請(qǐng)求的級(jí)別不同攔截器做不同的處理。這和Struts-1的RequestProcessor類很相似。
3) 調(diào)用Action: 產(chǎn)生一個(gè)新的action實(shí)例,調(diào)用業(yè)務(wù)邏輯方法。
4) 調(diào)用產(chǎn)生結(jié)果:匹配result class并調(diào)用產(chǎn)生實(shí)例。
5) 請(qǐng)求再次經(jīng)過(guò)一系列攔截器返回:過(guò)程也可配置減少攔截器數(shù)量
6) 請(qǐng)求返回用戶:從control返回servlet,生成Html.
這里很明顯的一點(diǎn)是不存在FormBean的作用域封裝,直接可以從Action中取得數(shù)據(jù)。 這里有一個(gè)Strut-2配置的web.xml文件:
controller
org.apache.struts.action2.dispatcher.FilterDispatcher
cotroller
/*
注意到以往的servlet變成了filter,ActionServlet變成了FilterDispatcher,*.do變成了/*.filter 配置定義了名稱(供關(guān)聯(lián))和filter的類。filter mapping讓URI匹配成功的的請(qǐng)求調(diào)用該filter.默認(rèn)情況下,擴(kuò)展名為 ".action ".這個(gè)是在default.properties文件里的 "struts.action.extension "屬性定義的。
看看Struts-2的處理流程:
1) Browser產(chǎn)生一個(gè)請(qǐng)求并提交框架來(lái)處理:根據(jù)配置決定使用哪些攔截器、action類和結(jié)果等。
2) 請(qǐng)求經(jīng)過(guò)一系列攔截器:根據(jù)請(qǐng)求的級(jí)別不同攔截器做不同的處理。這和Struts-1的RequestProcessor類很相似。
3) 調(diào)用Action: 產(chǎn)生一個(gè)新的action實(shí)例,調(diào)用業(yè)務(wù)邏輯方法。
4) 調(diào)用產(chǎn)生結(jié)果:匹配result class并調(diào)用產(chǎn)生實(shí)例。
5) 請(qǐng)求再次經(jīng)過(guò)一系列攔截器返回:過(guò)程也可配置減少攔截器數(shù)量
6) 請(qǐng)求返回用戶:從control返回servlet,生成Html.
這里很明顯的一點(diǎn)是不存在FormBean的作用域封裝,直接可以從Action中取得數(shù)據(jù)。 這里有一個(gè)Strut-2配置的web.xml文件:
controller
org.apache.struts.action2.dispatcher.FilterDispatcher
cotroller
/*
注意到以往的servlet變成了filter,ActionServlet變成了FilterDispatcher,*.do變成了/*.filter 配置定義了名稱(供關(guān)聯(lián))和filter的類。filter mapping讓URI匹配成功的的請(qǐng)求調(diào)用該filter.默認(rèn)情況下,擴(kuò)展名為 ".action ".這個(gè)是在default.properties文件里的 "struts.action.extension "屬性定義的。
- 2009年9月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2009年3月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2008年9月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2008年4月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2011年3月全國(guó)計(jì)算機(jī)二級(jí)Java考試真題及答案
- 2010年9月全國(guó)計(jì)算機(jī)二級(jí)Java考試真題及答案
- 查看計(jì)算機(jī)等級(jí)考試全部真題>>
- 2024年9月上海計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月全國(guó)計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月全國(guó)計(jì)算機(jī)一級(jí)考試成績(jī)查詢?nèi)肟冢ㄒ验_(kāi)
- 2024年9月浙江省全國(guó)計(jì)算機(jī)等級(jí)考試(NCRE)
- 2024年9月浙江計(jì)算機(jī)二級(jí)考試準(zhǔn)考證打印入口(9
- 2024年9月江蘇計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月江蘇計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間及查分
- 2024年9月浙江計(jì)算機(jī)二級(jí)成績(jī)查詢時(shí)間及查分入口