日期:2014-05-16  浏览次数:20378 次

spring3.0.5的mvc使用(exception,json,annotation,xml,upload/download)
    由于公司的项目要使用spring的mvc,所以特意写了这个教程,与大家分享。在这里我只给出思路和源代码,不做过多的代码粘贴,请大家自行消化理解。
    demo代码中,包含了exception,json,annotation,xml等诸多mvc的用法,为了更好的体验,请下载最高版本的demo代码。

一 环境
1)tomcat6.0.32
2)jdk1.6.0.24
3)eclipse3.6.2_javaee

二 包说明,共10个包
1)log4j
log4j-1.2.16.jar

2)spring的logging辅助
commons-logging-1.1.1.jar

3)jstl标签包
jstl-1.2.jar

4)spring核心包
org.springframework.asm-3.0.5.RELEASE.jar
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
org.springframework.web-3.0.5.RELEASE.jar

5)spring mvc包
org.springframework.web.servlet-3.0.5.RELEASE.jar

三 配置步骤
1.配置log4j,将log4j.properties(必须)放到src下面;commons-logging.properties(选配,不是必须的)放到src下面

2.配置WEB-INF/web.xml
1)log4j配置,在最前(必须)
2)spring配置,此处指定的文件名,一定要和下面的spring mvc中的 servlet-name中一致,格式为"名字-servlet.xml",使用contextConfigLocation参数为上下文载入器指定一个或多个Spring配置文件
3)spring 上下文载入器
4)Spring MVC的核心Servlet配置

3.配置WEB-INF/spring-servlet.xml
1)地址映射(xml形式必须要在此文件中;annotation的不需要,但需要配置context:component-scan/>)
2)viewResolver的配置

四 开发
1)model,普通的POJO类
2)view,JSP页面,或者HTML,PHP等
3)controller,xml形式的继承 org.springframework.web.servlet.mvc.AbstractController;annotation的不用继承

五 流程
1)请求过来,DispatcherServlet(单例)根据URL查找HandlerMapping,找出对应的Controller;
2)Controller会返回ModelAndView(模型数据和视图)给DispatcherServlet;
3)DispatcherServlet将ModelAndView相关内容通过view展示出来.


六 总结
xml形式的用的比较少,现在大多数系统中一般都使用annotation形式的配置。他们的配置区别在于
1)RequestMapping的配置是在spring-servlet.xml中,还是在controller里面;
2)controller里面用ModelAndView,还是其他Model,或者url String

七 补充
2011-02-09
1)优化结构,使mvc的配置文件与bean的配置文件分开来(applicationContext.xml,spring-servlet.xml);
2)修改log的使用方式,通过commons-logging与log4j关联使用;
3)增加aonntation的使用方式;
4)上传最新修改过的源代码,包括annotation和xml形式;

2011-02-26
1)上传最新的DEMO,里面增加了动态地址引用及与json集成使用的方式;

2011-03-15
1)spring mvc的深入应用,包括excpetion,json,mvc映射的细分;
2)1.2版本的demo上传;

2011-03-17
1)1.3版本的demo上传;
2)更新exception的相关代码,进一步说明excpetion的处理机制;

2011-04-04
1)增加spring mvc中上传/下载的demo;




作者简介
昵称:澳洲鸟
姓名:朴海林
QQ:85977328
MSN:6301655@163.com

转载请注明出处
1 楼 caoyangx 2011-02-05  
还继承org.springframework.web.servlet.mvc.AbstractController呢?
那你们公司用spring2就可以了。
2 楼 85977328 2011-02-09  
caoyangx 写道
还继承org.springframework.web.servlet.mvc.AbstractController呢?
那你们公司用spring2就可以了。

公司用的是 annotation
我接下来就会把 annotation的方式 给完善
3 楼 tomliguocai 2011-02-10  
annotation 好用是好用,个人感觉还是用XML配制灵活些,容易找相应关系
4 楼 liu2511981 2011-03-10  
请问,楼主,试没试 PUT????!


我试PUT 有问题。。
5 楼 85977328 2011-03-12  
liu2511981 写道
请问,楼主,试没试 PUT????!


我试PUT 有问题。。

我一般不