• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺析struts2和springMVC的異同

      2017-12-29 10:55:47陳張成都師范學院
      數(shù)碼世界 2017年4期
      關鍵詞:攔截器調用師范學院

      陳張 成都師范學院

      淺析struts2和springMVC的異同

      陳張 成都師范學院

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

      WEB框架 struts2 springMVC

      1 springMVC簡介

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

      2 springMVC的執(zhí)行流程

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

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

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

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

      HttpMessageConveter:將請求消息轉換成一個對象,將對象轉換為指定的響應信息;

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

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

      第七,ViewResolver結合Model和View,來渲染視圖;

      第八,將渲染結果返回給客戶端。

      3 struts2執(zhí)行流程

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

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

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

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

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

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

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

      第七,ActionInvocation實例使用命名模式來調用,在調用Action的過程前后,涉及到相關攔截器的調用;

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

      4 struts2和springMVC的比較

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

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

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

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

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

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

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

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

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

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

      陳張,成都師范學院,計算機科學與技術,本科。

      猜你喜歡
      攔截器調用師范學院
      遵義師范學院作品
      大眾文藝(2022年21期)2022-11-16 14:49:06
      多動能攔截器協(xié)同制導規(guī)律的研究及仿真
      制導與引信(2022年2期)2022-07-22 05:37:54
      英國MARSS公司推出新型反無人機攔截器
      無人機(2022年2期)2022-05-20 06:43:32
      以色列“天鎖”公司展出新式反無人機攔截器
      輕兵器(2022年5期)2022-05-19 00:56:24
      《通化師范學院報》 征稿啟事
      核電項目物項調用管理的應用研究
      洛陽師范學院
      人大建設(2019年4期)2019-07-13 05:43:04
      LabWindows/CVI下基于ActiveX技術的Excel調用
      測控技術(2018年5期)2018-12-09 09:04:46
      基于系統(tǒng)調用的惡意軟件檢測技術研究
      大慶師范學院簡介
      英山县| 桐乡市| 松溪县| 温宿县| 葵青区| 苏州市| 特克斯县| 龙江县| 电白县| 芦山县| 文昌市| 宁强县| 刚察县| 普洱| 青海省| 承德县| 武强县| 新乐市| 临夏市| 芒康县| 淮安市| 宁津县| 新干县| 辰溪县| 平湖市| 彭州市| 吉安市| 德兴市| 睢宁县| 龙川县| 乌什县| 莱西市| 临潭县| 于田县| 沂水县| 中西区| 沾益县| 绥芬河市| 拜城县| 馆陶县| 库尔勒市|