Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2290373
  • 博文数量: 266
  • 博客积分: 5485
  • 博客等级: 大校
  • 技术积分: 3695
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-20 11:05
个人简介

多读书,多做事,广交朋友,趣味丛生

文章分类

全部博文(266)

分类: Java

2011-01-28 11:42:12

   个人认为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 >

    

    
< bean  id ="springmvcController"
        class
="org.improviser.webapp.controller.SpringmvcController" >
    
bean >
    接下来该渲染一下页面了,下面为渲染所有以
WEB-INF/pages/ 开头并以.jsp结尾的页面。
    
    
< 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 Applicationtitle>
    
head>
    
<body>
        
<h1>
            
<br />
            Hello
            <c:out value="${message.coldice}" />

            Spring MVC 测试成功!
        
h1>
    
body>
html>
    现在对以上内容作个总结,正如上面所叙述,SpringMVC框架的处理过程机制如下图所示,接收请求页面,通过DispatcherServlet映射到相应规则处理,并找到相应的控制器,结果控制器处理后返回相应的页面最后返回给用户。
138199405_8b54d56b71_o.png
阅读(5202) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-06 16:22:24

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com