偶遇Spring MVC

偶遇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



 
凤凰涅槃/浴火重生/马不停蹄/只争朝夕
     隐姓埋名/低调华丽/简单生活/完美人生

你可能感兴趣的:(偶遇Spring MVC)