熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Spring MVC與struts比較

2022-06-13   來源: Java開源技術 

  下面的內容只是對web層的對比很浮淺spring的東西很大部分引自xiaxin的<<spring開發指南>>裡面如果有錯將在學習過程中修正

  Spring與struts比較

  webxml

  這個文件中的內容是jee定義的整體上看沒有什麼變化 主要描述了系統的入口點映射以及配置文件

  struts如下

  程序代碼

  <servlet>

  <servletname>action</servletname>

  <servletclass>orgapachestrutsactionActionServlet</servletclass>(入口點)

  <initparam>

  <paramname>config</paramname>

  <paramvalue>/WEBINF/strutsconfigxml /WEBINF/strutsconfigxml</paramvalue>(struts的配置文件)

  </initparam>

  </servlet>

  <servletmapping>

  <servletname>action</servletname>

  <urlpattern>*do</urlpattern>(URL映射)

  </servletmapping>

  Spring mvc框架如下代碼如下

  <servlet>

  <servletname>Dispatcher</servletname>

  <servletclass>orgspringframeworkwebservletDispatcherServlet</servletclass>(入口點)

  <initparam>

  <paramname>config</paramname>

  <paramvalue>/WEBINF/springconfigxml</paramvalue>

  </initparam>

  </servlet>

  <servletmapping>

  <servletname>Dispatcher</servletname>

  <urlpattern>*do</urlpattern>(URL映射)

  </servletmapping>

  config file

  Struts的默認配置文件名為:strutsconfigxml

  Spring的默認配置文件名為:${ServletName}servletxml

  這兩個配置文件可以看出struts與spring在mvc

  先看strutsconfigxml

  源代碼

  <strutsconfig>

  <formbeans>

  <formbean name=logininfo type=bizsuncorestrutsformLoginInfo/>(給數據對象一個名子它的值被自動從web的form中的填入可以繼承validationForm等)

  </formbeans>

  <globalforwards>

  <forward name=failure path=/failurejsp />

  <forward name=success path=/successjsp />(全局性的跳轉)

  <forward name=message path=/errorjsp />

  </globalforwards>

  <actionmappings>

  <action name=logininfo type=bizsuncorestrutsactionLoginAction validate=false scope=request path=/loginAction>(請求/處理單元映射)

  <forward name=success_view path=/jsp/mainjsp />

  <forward name=fail_view path=/jsp/loginfailjsp />

  (頁面導航)

  </action>

  </actionmappings>

  <messageresources parameter=bizsuncorescmwebresourceApplicationResources />(國際化)

  <messageresources key=test parameter=bizsuncorescmwebresourceApplicationResourcesTest />(國際化的綁定形式)

  <plugin className=orgapachestrutsvalidatorValidatorPlugIn>

  <setproperty value=/WEBINF/validatorrulesxml/WEBINF/validationxml property=pathnames />(驗證)

  </plugin>

  </strutsconfig>

  再看看springconfigxml

  程序代碼

  <beans>

  <!Definition of View Resolver >

  <!把輸出結果與界面相結合這一部分在struts中可以說沒有的也正因如此spring框架才可以用很多MVC結構吧>

  <bean id=viewResolver class=orgspringframeworkwebservletviewInternalResourceViewResolver>

  <property name=viewClass>

  <value>

  orgspringframeworkwebservletviewJstlView(采用哪種表現層模板)

  </value>

  </property>

  <property name=prefix>(顯示所用資源的前綴沒試過可不可以有多種前綴或者後綴)

  <value>

  /jsp/

  </value>

  </property>

  <property name=suffix>(後綴)

  <value>jsp</value>

  </property>

  </bean>

  <!上面是對表現的定義>

  <!下面是對請求的處理>

  <!Request Mapping >

  <bean id=urlMapping class=orgspringframeworkwebservlethandlerSimpleUrlHanderMapping>

  <property name=mappings>

  <props>

  <prop key=/logindo>LoginAction</prop>(請求/處理單元映射)

  </props>

  </property>

  </bean>

  <!Action Definition >

  <bean id=LoginAction class=bizsuncorespringactionLoginAction>

  <property name=commandClass>

  <value>bizsuncorespringformLoginInfo</value>(數據對象struts用beanname定義的東西)

  </property>

  <property name=fail_view>

  <value>loginfail</value>(頁面導航由於viewResolver的定義如果是大項目的話這兒就要少寫幾個字但對自動生成來講就沒什麼啦)

  </property>

  <property name=success_view>

  <value>main</value>

  </property>

  <!Request Mapping 和Action Definition的動做在struts中用action標簽全部做到功能相當(就我目前了解)>

  </bean>

  </beans>

  上面的分析可以看出struts與spring的mvc框架的主要區別就是對表現層的處理


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28558.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.