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

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

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

    即興的靈感

    思維是一種藝術; 藝術需要靈感。

    博客好友

    最新評論

    偶遇Spring MVC


    ??? 個人認為Spring其核心是其IOC和AOP方面,對其SpirngMVC框架并不關注,我看好的是JSF,簡單易懂。但最近由于工作上需要,所以有需要對SpringMVC做個了解學習,因此,本次對SpirngMVC的相遇純屬偶遇....下面對其做見識性了解說明:

    ??? SpingMVC的架構其實也很簡單,它通過一個共通的入門DispatcherServlet來接收所有的request,接下來根據request要求的頁面通過handler轉送給Controller處理,處理結果返回View給用戶,因此對SpringMVC來說,其核心為DispatcherServlet。
    ??? DispatcherServlet作為一扇門,我們要使用這個門,首先得安裝上這個門,安裝在哪呢?沒錯,就安裝在web.xml這個大屋子,象其他servlet一樣,描述servlet的名字和類,再給他一個mapping描述對應映射的網頁。在下例中,我們給DispatcherServlet的起名為SpringMVCDemo,并讓container知道所有.do結尾的request都丟給dispatcher。
    ???? < servlet >
    ????????
    < servlet-name > SpringMVCDemo </ servlet-name >
    ????????
    < servlet-class >
    ????????????org.springframework.web.servlet.DispatcherServlet
    ????????
    </ servlet-class >
    ????????
    < load-on-startup > 1 </ load-on-startup >
    ????
    </ servlet >

    ????
    < servlet-mapping >
    ????????
    < servlet-name > SpringMVCDemo </ servlet-name >
    ????????
    < url-pattern > *.do </ url-pattern >
    ????
    </ servlet-mapping >
    ??? 門安裝好了之后,我們需要定義門能打開的范圍,在哪定義呢?就在門的上面貼上一張“入門指導”,介紹從哪方面(hello.do)進門需要使用何種交通方式(springmvcController)進去,并定義該交通方式。
    ???? < bean? id ="urlMapping"
    ????????class
    ="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" >
    ????????
    < property? name ="mappings" >
    ????????????
    < props >
    ????????????????
    < prop? key ="/hello.do" > springmvcController </ prop >
    ????????????
    </ props >
    ????????
    </ property >
    ????
    </ bean >

    ????
    <!-- ?SpringmvcController? -->
    ????
    < bean? id ="springmvcController"
    ????????class
    ="org.improviser.webapp.controller.SpringmvcController" >
    ????
    </ bean >
    ??? 接下來該渲染一下頁面了,下面為渲染所有以
    WEB-INF/pages/ 開頭并以.jsp結尾的頁面。
    ???? <!-- ?ViewSolver? -->
    ????
    < bean? id ="viewResolver"
    ????????class
    ="org.springframework.web.servlet.view.InternalResourceViewResolver" >
    ????????
    < property? name ="viewClass" >
    ????????????
    < value > org.springframework.web.servlet.view.JstlView </ value >
    ????????
    </ property >
    ????????
    < property? name ="prefix" >
    ????????????
    < value > /WEB-INF/pages/ </ value >
    ????????
    </ property >
    ????????
    < property? name ="suffix" >
    ????????????
    < value > .jsp </ value >
    ????????
    </ property >
    ????
    </ bean >
    ???上面提到的SpringmvcController,現在該作個定義了,該類需要實現Controller接口。
    public?class?SpringmvcController?implements?Controller?{
    ????
    /**?Logger?for?this?class?and?subclasses?*/
    ????
    protected?final?Log?logger?=?LogFactory.getLog(getClass());

    ????
    public?ModelAndView?handleRequest(HttpServletRequest?request,
    ????????????HttpServletResponse?response)?
    throws?ServletException,?IOException?{

    ????????Map?model?
    =?new?HashMap();

    ????????String str
    =?"即興詩人";
    ????????logger.info(
    "returning?hello?view?with?"?+?currTime);
    ????????model.put(
    "coldice", str);

    ????????
    return?new?ModelAndView("hello",?"message",?model);
    ????}
    ???編寫jsp測試頁面。
    <html>
    ????
    <head>
    ????????
    <title>Spring?Application</title>
    ????
    </head>
    ????
    <body>
    ????????
    <h1>
    ????????????
    <br?/>
    ????????????Hello
    ??? ??? ??? <c:out?value="${message.coldice}"?/></br>
    ??? ??? ??? Spring?MVC 測試成功!
    ????????
    </h1>
    ????
    </body>
    </html>
    ??? 現在對以上內容作個總結,正如上面所敘述,SpringMVC框架的處理過程機制如下圖所示,接收請求頁面,通過DispatcherServlet映射到相應規則處理,并找到相應的控制器,結果控制器處理后返回相應的頁面最后返回給用戶。
    138199405_8b54d56b71_o.png



    ?
    鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
    ???? 隱姓埋名/低調華麗/簡單生活/完美人生

    posted on 2007-11-04 10:44 poetguo 閱讀(6692) 評論(13)  編輯  收藏 所屬分類: Spring

    評論

    # re: 偶遇Spring MVC 2007-11-04 12:00 BeanSoft

    呵呵 Spring MVC 是緊耦合 和它自己的設計理念沖突啊... 所以 Spring Web 連 Struts 也打不過...  回復  更多評論   

    # re: 偶遇Spring MVC 2007-11-04 12:06 improviser

    嗯嗯 目前只是原型系統使用到 偶用一下測試看看而已啊  回復  更多評論   

    # re: 偶遇Spring MVC 2007-11-04 14:21 山風小子

    @BeanSoft
    "Spring MVC 是緊耦合"
    具體體現在哪里呢?謝謝 :)  回復  更多評論   

    # re: 偶遇Spring MVC 2007-11-04 18:08 BeanSoft

    public class SpringmvcController implements Controller {

    這一句就是. 兄弟你用過 Struts 1 和 Struts 2 嘛? Spring 不是一直都講究 POJO 嘛? 也許現在新的 Spring MVC 也不需要繼承自它自己的 Web 層的接口了 呵呵. 這一點是和它自己的理念違背的.  回復  更多評論   

    # re: 偶遇Spring MVC 2007-11-04 18:49 山風小子

    Struts2 中不也是
    public class Login extends ActionSupport {
    嗎?

    您所說的‘緊耦合’似乎各大框架都存在噢 :)  回復  更多評論   

    # re: 偶遇Spring MVC 2007-11-05 16:41 BeanSoft

    呵呵 JSF 不存在. 如果標注算松耦合的話, EJB 3, JPA 也不存在. 不過 Spring 這個地方是緊耦合不假. 所以這里它只能和 Struts 來類比了, 當然不影響使用, 嘿嘿.  回復  更多評論   

    # re: 偶遇Spring MVC 2007-11-05 22:48 improviser

    這也許就是正是欣賞jsf的地方  回復  更多評論   

    # re: 偶遇Spring MVC[未登錄] 2007-12-01 13:58 duma

    @山風小子
    struts2 , webwork 可以不用這樣寫.  回復  更多評論   

    # re: 偶遇Spring MVC 2007-12-23 18:46 廣州_Soar

    Spring Web MVC 也許你只是用來玩玩,呵呵!!
    它的好處做過大型系統的朋友應該都有體會,不過目前大家都使用EXTJS2.0做前臺了,直接跟Service層進行調用!!呵呵!!  回復  更多評論   

    # re: 偶遇Spring MVC 2007-12-24 22:27 improviser

    算玩過2個月了哈哈,還不錯,
    技術本身沒有錯,每一種都有它的有點,存在即合理!  回復  更多評論   

    # re: 偶遇Spring MVC 2008-02-29 13:47 平淡無味

    第一次來 以后就常來了 希望能多寫一些 要好好學習了  回復  更多評論   

    # re: 偶遇Spring MVC[未登錄] 2008-11-26 06:59 Scott.H

    有 Spring 2.5 的 Annotation 以后,就不存在所謂的緊耦合,everything is a POJO  回復  更多評論   

    # re: 偶遇Spring MVC 2010-09-28 17:49 11

    是啊,Spring 2.5 的 Annotation用起來真的很方便。  回復  更多評論   

    主站蜘蛛池模板: 日韩大片在线永久免费观看网站| 亚洲国产精品狼友中文久久久| 久久久久久久久久久免费精品| 亚洲人成图片网站| 亚洲AV日韩精品久久久久久久| 亚洲国产精品狼友中文久久久| 成年丰满熟妇午夜免费视频| 99re视频精品全部免费| 好吊色永久免费视频大全| 美美女高清毛片视频黄的一免费 | www亚洲精品久久久乳| 亚洲欧洲国产精品久久| 亚洲AV一宅男色影视| 久久精品夜色噜噜亚洲A∨| 免费一级毛片正在播放| 永久免费视频v片www| 免费无码肉片在线观看| 麻豆视频免费播放| 午夜不卡久久精品无码免费| 免费人成在线观看视频高潮| a一级毛片免费高清在线| 无码日韩人妻AV一区免费l| 色费女人18女人毛片免费视频| 亚洲熟妇AV日韩熟妇在线| 亚洲娇小性色xxxx| 亚洲偷偷自拍高清| 亚洲色图激情文学| 亚洲一区二区观看播放| 亚洲免费网站观看视频| 亚洲人配人种jizz| 亚洲色大成网站www久久九| 亚洲色成人WWW永久在线观看| 色在线亚洲视频www| 亚洲色大成WWW亚洲女子| 亚洲成a∧人片在线观看无码| 亚洲AV无码AV男人的天堂不卡| 亚洲高清一区二区三区电影| 看亚洲a级一级毛片| 亚州**色毛片免费观看| 久久一区二区免费播放| 成全高清在线观看免费|