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

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

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

    隨筆-23  評論-0  文章-5  trackbacks-0
      
    初學(xué)struts也是一知半解,比如action與dispatchAction的區(qū)別,最近便讓我十分困惑。  

    做為一個初學(xué)者,在目前使用過的東西中,主要有mapping.findForward(),action,dispatchAction三個實用功能,這三者放在一起本不太合適,但是在我看來,也有一定的相關(guān)性。  

    struts主要用途
    1. 判斷url傳值所要做的操作。比如 http://www.baidu.com/index.jsp?run=showAll ,這個如果使用了action,可以使用request.getParameter()接收。
    2. 使用mapping.findForward(url);替換servlet的response.sendRedirect("http://www.baidu.com");
    3. 把form提交的內(nèi)容封裝到formBean。這樣在使用了大量form的時候,可以用formBean的一實例lf.formName這樣去調(diào)用。
    好處在于不用使用request.getParameter("formName");去接收。
    4. 使用dispatchAction,在struts-config.xml中進行配置,直接可以判斷get鏈接中的傳值,也可以避免使用request.getParameter("formName");去接收。

    formBean與dispatchAction的區(qū)別: 
    顯而易見,formBean使用在大量的post表單的情況下。
    dispatchAction常用來處理url鏈接中傳來的值。

    Action與dispatchAction的區(qū)別: 
    這里使用區(qū)別并不合適,因為dispatchAction繼承自Action,所以dispatchAction是對action進行了功能的擴充,action常需要使用getParameter()先獲取傳入的值,再判斷這個值是否正常,再重定向到不同的頁面。 
    而dispatchAction把判斷放以了struts-config.xml文件中,而不需要再到業(yè)務(wù)層進行判斷。并且dispatchAction在使用中,更常用于處理url傳入的get請求。


    Struts的生存周期

    啟動web服務(wù)器 -- 加載web.xml文件 -- 產(chǎn)生ActionServlet實例 -- 加載struts-config.xml文件 -- 解析出多個action并放入actionMapping池 
    客戶端發(fā)現(xiàn)請求 -- web容器 -- 請求發(fā)送到ActionServlet -- 分發(fā)到不同的action并實例化 -- 模型層處理 -- 處理結(jié)果返回到actionServlet -- 返回結(jié)果到視圖層

    舉例
    下面是一個使用了dispatchAction的項目的完整struts-config.xml配置
    ---------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

    <struts-config>
    <data-sources />
    <form-beans />
    <global-exceptions />
    <global-forwards />
    <form-beans>      //formbean的定義,name="loginForm"對應(yīng)于下文中的name="loginForm"
    <form-bean name="loginForm" type="org.jsw.struts.form.LoginForm" />
    </form-beans>
    <action-mappings >

    <action                    //定義了一個action
    path="/manager"           //此action的訪問路徑
    name="loginForm"          //此action用于接收哪個formbean,對應(yīng)于上文<form-beans>中的內(nèi)容
    parameter="method"      //此action用于接怍method的值,如果method值是add,那么自動調(diào)用業(yè)務(wù)層的add方法
    type="com.umt.struts.action.ManagerAction">
    <forward name="success" path="/success.jsp"></forward>     //定義了重向向地址
    <forward name="delete" path="/delete.jsp"></forward>
    </action>
    </action-mappings>

    <message-resources parameter="com.jsw.struts.ApplicationResources" />
    </struts-config>
    posted on 2013-11-05 16:37 ForMeBlog 閱讀(477) 評論(0)  編輯  收藏 所屬分類: 框架集合
    主站蜘蛛池模板: 亚洲最大成人网色| 亚洲国产精品无码久久SM | 国产成人青青热久免费精品| 亚洲第一页中文字幕| 4虎1515hh永久免费| 亚洲综合激情六月婷婷在线观看| 91成人在线免费视频| 亚洲第一精品电影网| 好男人看视频免费2019中文| 亚洲日韩精品国产一区二区三区| 精品国产麻豆免费网站 | 一个人看的www在线免费视频| 亚洲黄片毛片在线观看| 色www永久免费网站| 亚洲国产高清人在线| 日韩视频在线精品视频免费观看 | 亚洲日韩精品无码专区网址 | 在线观看免费人成视频色| 中文字幕亚洲男人的天堂网络 | 亚洲无线电影官网| 黄页免费的网站勿入免费直接进入| 亚洲人成未满十八禁网站| 中文字幕亚洲综合久久男男| 久久美女网站免费| 亚洲一区在线观看视频| 国产公开免费人成视频| a毛看片免费观看视频| 亚洲日韩国产精品无码av| 精品国产免费一区二区| a级毛片在线免费观看| 亚洲fuli在线观看| 亚洲M码 欧洲S码SSS222| 日韩精品久久久久久免费| 亚洲人成无码网站在线观看| 国产亚洲av片在线观看18女人| 67194国产精品免费观看| 在线视频亚洲一区| 久久精品国产亚洲AV电影 | 日韩a级毛片免费观看| 99re6在线视频精品免费| 最新亚洲春色Av无码专区|