999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析struts2和springMVC的異同

2017-12-29 10:55:47陳張成都師范學(xué)院
數(shù)碼世界 2017年4期

陳張 成都師范學(xué)院

淺析struts2和springMVC的異同

陳張 成都師范學(xué)院

struts2和springMVC都是java web開發(fā)比較主流的框架,目前企業(yè)中使用springMvc的比例已經(jīng)遠遠超過Struts2,那么兩者到底有什么區(qū)別,是很多初學(xué)者比較關(guān)注的問題。

WEB框架 struts2 springMVC

1 springMVC簡介

spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring框架提供了構(gòu)建Web應(yīng)用程序的全功能MVC模塊。Spring MVC分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進行定制。

2 springMVC的執(zhí)行流程

第一,用戶向服務(wù)器發(fā)送請求,請求被Spring前端控制Servelt DispatcherServlet捕獲;

第二,DispatcherServlet對請求URL進行解析,得到請求資源標識符。然后根據(jù)該URI,調(diào)用HandlerMapping獲得該Handler配置的所有相關(guān)的對象,最后以HandlerExecutionChain對象的形式返回;

第三,DispatcherServlet根據(jù)獲得的Handler,選擇一個合適的HandlerAdapter;

第四,提取Request中的模型數(shù)據(jù),填充Handler入?yún)ⅲ_始執(zhí)行Handler。在填充Handler的入?yún)⑦^程中,根據(jù)你的配置,Spring將幫你做一些額外的工作:

HttpMessageConveter:將請求消息轉(zhuǎn)換成一個對象,將對象轉(zhuǎn)換為指定的響應(yīng)信息;

第五,Handler執(zhí)行完成后,向DispatcherServlet返回一個ModelAndView對象;

第六,根據(jù)返回的Model AndView,選擇一個適合的ViewResolver(必須是已經(jīng)注冊到Spring容器中的ViewResolver)返回給DispatcherServlet;

第七,ViewResolver結(jié)合Model和View,來渲染視圖;

第八,將渲染結(jié)果返回給客戶端。

3 struts2執(zhí)行流程

一個請求在Struts2框架中的處理大概分為以下幾個步驟:

第一,客戶端瀏覽器發(fā)送請求;

第二,這個請求經(jīng)過一系列的過濾器(這些過濾器中有一個叫做ActionContextCleanUp的可選過濾器,這個過濾器對于Struts2和其他框架的集成很有幫助);

第三,接著FilterDispatcher被調(diào)用,F(xiàn)ilterDispatcher詢問ActionMapper來決定這個請求是否需要調(diào)用某個Action;

第四,如果ActionMapper決定需要調(diào)用某個Action,F(xiàn)ilterDispatcher把請求的處理交給ActionProxy;

第五,ActionProxy通過Configuration Manager詢問框架的配置文件,找到需要調(diào)用的Action類;

第六,ActionProxy創(chuàng)建一個ActionInvocation的實例;

第七,ActionInvocation實例使用命名模式來調(diào)用,在調(diào)用Action的過程前后,涉及到相關(guān)攔截器的調(diào)用;

第八,一旦Action執(zhí)行完畢,ActionInvocation負責根據(jù)struts.xml中的配置找到對應(yīng)的返回結(jié)果。

4 struts2和springMVC的比較

①核心控制器:對于使用過mvc框架的人來說這個詞應(yīng)該不會陌生,核心控制器的主要用途是處理所有的請求,然后對那些特殊的請求統(tǒng)一的進行處理,spring mvc核心控制器是Servlet,而Struts2是Filter。

②控制器實例:Spring Mvc會比Struts快一些(理論上)。

③管理方式:大部分的公司的核心架構(gòu)中,就會使用到spring,而spring mvc又是spring中的一個模塊,所以spring對于spring mvc的控制器管理更加簡單方便。

④參數(shù)傳遞:Struts2中自身提供多種參數(shù)接受,其實都是通過進行傳遞和賦值,而SpringMvc是通過方法的參數(shù)進行接收。

⑤學(xué)習難度:Struts更加很多新的技術(shù)點,比如攔截器、值棧及OGNL表達式,學(xué)習成本較高,spring mvc比較簡單,很較少的時間都能上手。

總體來說,springMVC對初學(xué)者來說相比較struts2更加容易上手,與spring的集成更加流暢和方便。

[1]王冠宇,趙冬生.基于J2EE下的JSF與Struts框架比較分析[J].微機發(fā)展,2005年12期

[2]陳平.基于Spring的輕量級Web框架的研究與設(shè)計[D].江蘇大學(xué),2005年

[3]孫衛(wèi)琴.精通struts[M].電子工業(yè)出版社,2004年8月50-70

[4]曾云飛.基于Struts框架的電子政務(wù)研究和實現(xiàn)[M].東北大學(xué)出版社,2005

陳張,成都師范學(xué)院,計算機科學(xué)與技術(shù),本科。

主站蜘蛛池模板: 五月综合色婷婷| 国产手机在线ΑⅤ片无码观看| 国产一级精品毛片基地| 在线99视频| 国产清纯在线一区二区WWW| 9久久伊人精品综合| 欧美专区日韩专区| 欧美成人怡春院在线激情| 国产真实乱子伦视频播放| 欧美成人二区| 亚洲人成网7777777国产| 999在线免费视频| 精品一区二区三区水蜜桃| 成人夜夜嗨| 全部免费特黄特色大片视频| 国产啪在线| 婷婷综合色| 久久国产拍爱| 日韩毛片免费视频| 免费人欧美成又黄又爽的视频| 朝桐光一区二区| 欧美国产在线看| 久久网综合| 亚洲经典在线中文字幕| 久久综合成人| 色妞永久免费视频| 亚洲日本中文字幕乱码中文| 久久免费成人| 日韩欧美中文字幕在线韩免费 | 欧美一区国产| 欧美另类图片视频无弹跳第一页| 国产成人8x视频一区二区| 国产小视频a在线观看| 亚洲美女高潮久久久久久久| 精品久久高清| 亚洲乱码精品久久久久..| 欧美一区二区自偷自拍视频| 在线观看国产小视频| 青青草一区| 2021国产v亚洲v天堂无码| 国产在线精彩视频二区| 亚洲欧洲自拍拍偷午夜色| 中国美女**毛片录像在线 | 亚洲热线99精品视频| 国产成在线观看免费视频| 久久久亚洲色| 九九九九热精品视频| 极品国产在线| 亚洲最黄视频| 国产亚洲欧美在线专区| 久久中文字幕av不卡一区二区| 尤物视频一区| 97狠狠操| 国产亚洲欧美另类一区二区| 五月天在线网站| 久久黄色一级视频| 午夜无码一区二区三区| 四虎国产永久在线观看| 国产成人1024精品| 欧洲亚洲欧美国产日本高清| 美女毛片在线| 亚洲首页在线观看| 成年人视频一区二区| 成人国产三级在线播放| 国外欧美一区另类中文字幕| 伊人天堂网| 2022精品国偷自产免费观看| 亚洲精品视频免费| 国产靠逼视频| 国产成人一级| 亚洲精品国偷自产在线91正片| 色噜噜在线观看| 激情综合五月网| 在线中文字幕网| 超碰免费91| 国产女人18水真多毛片18精品| 免费毛片视频| 欧美第二区| 国产交换配偶在线视频| 亚洲一本大道在线| 亚洲黄色片免费看| 欧美日韩综合网|