偶遇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都�G给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

 

转自http://www.blogjava.net/improviser/archive/2007/11/04/158025.html

 

你可能感兴趣的:(spring,mvc,职场,休闲)