<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Asktalk

    天行健,君子以自強不息!
    posts - 21, comments - 79, trackbacks - 0, articles - 2
      BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

    Spring Web框架與Struts的區別

    Posted on 2007-12-25 02:23 Asktalk 閱讀(4324) 評論(0)  編輯  收藏 所屬分類: Jdbc/Hibernate3/EJB3

     

    下面是從struts的角度來談談spring自帶的web框架的使用。
    當然,我們在配置
    web框架前,需要把spring配置好,這里就不多說了。

    1.web框架核心servletweb.xml中的配置。


     

     1<servlet>  
     2<servlet-name>Dispatcher</servlet-name>  
     3<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  <init-param>   
     4<param-name>contextConfigLocation</param-name>   <param-value>/WEB-INF/Config.xml</param-value>
     5  </init-param> 
     6</servlet>  
     7
     8<servlet-mapping>  
     9<servlet-name>Dispatcher</servlet-name>  
    10<url-pattern>*.do</url-pattern>
    11 </servlet-mapping>
    12

     

    如果沒有配置config.xml文件,那么其默認的配置文件為[ servlet-name ]-servlet.xml 。也就是我們這個配置的默認配置文件是Dispatcher-servlet.xml

    2.web框架的xml配置

    spring web框架與struts最大的不同就是spring web框架根據分工,把每一種功能都定義為一種組件,所以在開發過程中需要配置的東西就非常多;Spring中分為幾個角色:

    核心控制器,就是web框架的主 servlet

    業務控制器,也就是struts中的action對象;

    映射處理器,定義了訪問路徑如何與webxml中的bean相匹配,就是定義了一種策略;

    視圖和視圖解析器,視圖就是jstl,velocity,xslt等,視圖解析器定義了action最終導航頁面的策略;

    模型,就是struts MVC結構中的model

    Command對象,類似于struts中的formBean

    2.1 Spring web框架與struts框架的區別

    下面列出了一些。例如,

    Web框架要攔截*.do路徑,那么*.do如何與我們下面的bean匹配,就需要一個映射控制器。在struts中就是名字相同的匹配,不需要配置。

    action最后要導向到不同的頁面,在struts中我們用的是默認的不需要在xml文件中配置,在spring中就需要配置視圖解析器。

    下面代碼中,ActioncommandClass配置的就是類似于struts中的formBean對象。

     1<?xml version="1.0" encoding="UTF-8"?>
     2<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
     3 "http://www.springframework.org/dtd/spring-beans.dtd">
     4<beans>
     5 <!--Definition of View Resolver -->
     6 <bean id="viewResolver"
     7  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     8  <property name="viewClass"> 
     9   <value>org.springframework.web.servlet.view.JstlView</value>
    10  </property>
    11  <property name="prefix">
    12   <value>/WEB-INF/view/</value>
    13  </property>
    14  <property name="suffix">
    15   <value>.jsp</value>
    16  </property>
    17 </bean>
    18  
    19<!—就是我們上面說的映射控制器 -->
    20 <!--Request Mapping -->
    21 <bean id="urlMapping"
    22  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    23  <property name="mappings">
    24   <props>
    25    <prop key="/login.do">LoginAction</prop>
    26   </props>
    27  </property>
    28 </bean>
    29 
    30<!---類似于struts的action配置-->
    31 <!---Action Definition-->
    32 <bean id="LoginAction"
    33  class="com.maxway.action.LoginAction">
    34  <property name="commandClass">
    35   <value>com.maxway.action.LoginInfo</value>
    36  </property>
    37  <property name="fail_view">
    38   <value>loginfail</value>
    39  </property>
    40  <property name="success_view">
    41   <value>main</value>
    42  </property>
    43 </bean>
    44</beans>
    45


     

    3.代碼的編寫

    Action不外乎繼承一些現成的類,來實現我們view部分的業務。
    作者:http://www.tkk7.com/asktalk

    主站蜘蛛池模板: 国产免费区在线观看十分钟| 国产国产人免费视频成69堂| 亚洲avav天堂av在线不卡 | 免费专区丝袜脚调教视频| 亚洲最大无码中文字幕| 91麻豆国产自产在线观看亚洲 | 亚洲伊人成无码综合网| 91精品导航在线网址免费| 丰满亚洲大尺度无码无码专线 | 亚洲乱码在线卡一卡二卡新区| 亚洲av手机在线观看| 一级毛片免费不卡在线| 亚洲爆乳精品无码一区二区| 无码乱人伦一区二区亚洲一| 国产在线播放免费| 免费不卡在线观看AV| 黄色一级视频免费| 亚洲精品美女久久久久9999| 亚洲精品成人网久久久久久| 成人免费AA片在线观看| a级毛片无码免费真人久久| 亚洲欧美日韩中文无线码| 亚洲av午夜福利精品一区| 全部免费国产潢色一级| 日韩欧毛片免费视频| 最近中文字幕大全免费版在线 | 亚洲精品乱码久久久久久蜜桃图片| 亚洲av永久无码精品表情包| 日本中文一区二区三区亚洲| 100000免费啪啪18免进| 精品在线免费观看| 乱淫片免费影院观看| 亚洲av无码日韩av无码网站冲| 亚洲精品自拍视频| 亚洲Aⅴ无码专区在线观看q | 国产成人人综合亚洲欧美丁香花| 亚洲色偷偷av男人的天堂| 亚洲日韩精品射精日| 亚洲成?v人片天堂网无码| 午夜成年女人毛片免费观看| 四虎在线免费视频|