• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    基于J2EE的Blog平臺

    發布: 2008-6-26 14:17 | 作者: 不詳 | 來源: 測試時代編輯整理 | 查看: 73次 | 進入軟件測試論壇討論

    領測軟件測試網

    <bean id="articleController" class="example.ViewArticleController">
    </bean>

     ViewArticleController處理請求,然后生成Model,并選擇一個View:

    public class ViewArticleController implements Controller {
        private Facade facade;
        public void setFacade(Facade facade) { this.facade = facade; }
    public ModelAndView handleRequest(HttpServletRequest request,
        HttpServletResponse response) throws Exception {
            // 獲得參數:
            int articleId = Integer.parseInt(request.getParameter("articleId"));
            // 使用facade處理請求:
            Article article = facade.getArticle(articleId);
            // 生成Model:
            Map map = new HashMap();
            map.put("article", article);
            // 返回Model和視圖名“skin/blueskysimple/article”:
            return new ModelAndView("skin/blueskysimple/article", map);
        }
    }

      最后,skin/bluesky/article視圖會將結果顯示給用戶。
      我們注意到,ViewArticleController并不自己查找或者創建Facade,而是由容器通過setFacade(Facade)方法設置的,這就是所謂的IoC(Inversion of Control)或者Dependency Injection。容器通過配置文件完成所有組件的初始化工作:

    <!-- 聲明一個Facade -->
    <bean id="facade" class="example.Facade" />
    <!-- 聲明一個Controller -->
    <bean id="articleController" class="example.ViewArticleController">
        <!-- 為articleController設置facade屬性 -->
    <property name="facade">
            <!-- 將名為facade的Bean的引用傳進去 -->
            <ref bean="facade" />
        </property>
    </bean>

      以上配置文件實現的功能大致為:

    Facade facade = new Facade();
    ViewArticleController articleController = new ViewArticleController();
    articleController.setFacade(facade);

      但是我們不必編寫以上代碼,只需在xml文件中裝配好我們的組件就可以了。所有組件由Spring管理,并且,缺省的創建模式是Singleton,確保了一個組件只有一個實例。
      此外,所有自定義異常都是RuntimeException,Spring提供的AOP使我們能非常方便地實現異常處理。在Web層定義ExceptionHandler,處理所有異常并以統一的error頁面把出錯信息顯示給用戶,因此,在代碼中只需拋出異常,完全不必在Controller中處理異常:

    <bean id="handlerExceptionResolver" class="org.crystalblog.web.ExceptionHandler" />

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>