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

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

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

    即興的靈感

    思維是一種藝術(shù); 藝術(shù)需要靈感。

    博客好友

    最新評(píng)論

    偶遇Spring MVC


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

    ??? SpingMVC的架構(gòu)其實(shí)也很簡(jiǎn)單,它通過一個(gè)共通的入門DispatcherServlet來接收所有的request,接下來根據(jù)request要求的頁面通過handler轉(zhuǎn)送給Controller處理,處理結(jié)果返回View給用戶,因此對(duì)SpringMVC來說,其核心為DispatcherServlet。
    ??? DispatcherServlet作為一扇門,我們要使用這個(gè)門,首先得安裝上這個(gè)門,安裝在哪呢?沒錯(cuò),就安裝在web.xml這個(gè)大屋子,象其他servlet一樣,描述servlet的名字和類,再給他一個(gè)mapping描述對(duì)應(yīng)映射的網(wǎng)頁。在下例中,我們給DispatcherServlet的起名為SpringMVCDemo,并讓container知道所有.do結(jié)尾的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 >
    ??? 門安裝好了之后,我們需要定義門能打開的范圍,在哪定義呢?就在門的上面貼上一張“入門指導(dǎo)”,介紹從哪方面(hello.do)進(jìn)門需要使用何種交通方式(springmvcController)進(jìn)去,并定義該交通方式。
    ???? < 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結(jié)尾的頁面。
    ???? <!-- ?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,現(xiàn)在該作個(gè)定義了,該類需要實(shí)現(xiàn)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測(cè)試頁面。
    <html>
    ????
    <head>
    ????????
    <title>Spring?Application</title>
    ????
    </head>
    ????
    <body>
    ????????
    <h1>
    ????????????
    <br?/>
    ????????????Hello
    ??? ??? ??? <c:out?value="${message.coldice}"?/></br>
    ??? ??? ??? Spring?MVC 測(cè)試成功!
    ????????
    </h1>
    ????
    </body>
    </html>
    ??? 現(xiàn)在對(duì)以上內(nèi)容作個(gè)總結(jié),正如上面所敘述,SpringMVC框架的處理過程機(jī)制如下圖所示,接收請(qǐng)求頁面,通過DispatcherServlet映射到相應(yīng)規(guī)則處理,并找到相應(yīng)的控制器,結(jié)果控制器處理后返回相應(yīng)的頁面最后返回給用戶。
    138199405_8b54d56b71_o.png



    ?
    鳳凰涅槃/浴火重生/馬不停蹄/只爭(zhēng)朝夕
    ???? 隱姓埋名/低調(diào)華麗/簡(jiǎn)單生活/完美人生

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

    評(píng)論

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

    呵呵 Spring MVC 是緊耦合 和它自己的設(shè)計(jì)理念沖突啊... 所以 Spring Web 連 Struts 也打不過...  回復(fù)  更多評(píng)論   

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

    嗯嗯 目前只是原型系統(tǒng)使用到 偶用一下測(cè)試看看而已啊  回復(fù)  更多評(píng)論   

    # re: 偶遇Spring MVC 2007-11-04 14:21 山風(fēng)小子

    @BeanSoft
    "Spring MVC 是緊耦合"
    具體體現(xiàn)在哪里呢?謝謝 :)  回復(fù)  更多評(píng)論   

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

    public class SpringmvcController implements Controller {

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

    # re: 偶遇Spring MVC 2007-11-04 18:49 山風(fēng)小子

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

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

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

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

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

    這也許就是正是欣賞jsf的地方  回復(fù)  更多評(píng)論   

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

    @山風(fēng)小子
    struts2 , webwork 可以不用這樣寫.  回復(fù)  更多評(píng)論   

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

    Spring Web MVC 也許你只是用來玩玩,呵呵!!
    它的好處做過大型系統(tǒng)的朋友應(yīng)該都有體會(huì),不過目前大家都使用EXTJS2.0做前臺(tái)了,直接跟Service層進(jìn)行調(diào)用!!呵呵!!  回復(fù)  更多評(píng)論   

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

    算玩過2個(gè)月了哈哈,還不錯(cuò),
    技術(shù)本身沒有錯(cuò),每一種都有它的有點(diǎn),存在即合理!  回復(fù)  更多評(píng)論   

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

    第一次來 以后就常來了 希望能多寫一些 要好好學(xué)習(xí)了  回復(fù)  更多評(píng)論   

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

    有 Spring 2.5 的 Annotation 以后,就不存在所謂的緊耦合,everything is a POJO  回復(fù)  更多評(píng)論   

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

    是啊,Spring 2.5 的 Annotation用起來真的很方便。  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 成人影片麻豆国产影片免费观看| 日本精品人妻无码免费大全| sss在线观看免费高清| 久久精品国产亚洲av品善| 亚洲精品第一国产综合亚AV| 亚洲综合一区国产精品| 亚洲午夜无码久久久久小说 | 色视频色露露永久免费观看| 无人在线观看完整免费版视频| 2021久久精品免费观看| 99久久综合国产精品免费| 在线观看免费大黄网站| 日本免费电影一区| 丁香亚洲综合五月天婷婷| 久久久精品2019免费观看| 久香草视频在线观看免费| j8又粗又长又硬又爽免费视频| 一个人看的免费高清视频日本| A毛片毛片看免费| 日本高清免费观看| 在线观看永久免费| 成年人网站在线免费观看| 2021精品国产品免费观看| 国产成人精品免费视频大| 毛片免费在线观看网站| www.亚洲一区| 亚洲AV综合色一区二区三区| 精品亚洲A∨无码一区二区三区| 亚洲中字慕日产2020| 国产亚洲人成在线播放| 国产免费区在线观看十分钟| 久久国产免费一区二区三区| 67194成手机免费观看| 免费视频中文字幕| 久久久久亚洲AV成人网人人网站| 亚洲综合自拍成人| 亚洲欧美日韩国产成人| 国产A∨免费精品视频| 2021精品国产品免费观看| 青青青国产免费一夜七次郎| 亚洲伊人久久大香线蕉综合图片|