目录SpringMvc教程.........................................................................................................................1初识springMVC........................................................................................................................1背景.......................................................................................................................................1常见MVC框架比较.........................................................................................................2基于spring3.2的采用annotation方式搭建springMVC环境.........................................2springMVC的RequestMapping的基本设置.......................................................................7在controller中获取前台传递的参数.................................................................................9在controller中获取web元素..........................................................................................10将controller中数据传递到jsp页面.................................................................................11设置跳转方式为重定向或者转发.....................................................................................15视图解析器的配置和使用.................................................................................................15controller中方法的返回值类型........................................................................................16springMVC的文件上传于下载..........................................................................................19springMVC和jQuery的Ajax结合....................................................................................23SpringMvc教程作者:DK初识springMVC背景Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。SpringMVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。常见MVC框架比较运行性能上:Jsp+servletstruts1springmvcstruts2+freemarkerstruts2,ognl,值栈。开发效率上,基本正好相反。值得强调的是,springmvc开发效率和struts2不相上下。Struts2的性能低的原因是因为OGNL和值栈造成的。所以,如果你的系统并发量高,可以使用freemaker进行显示,而不是采用OGNL和值栈。这样,在性能上会有相当大得提高。基于spring3.2的采用annotation方式搭建springMVC环境1、上官网下载对应的zip包当然该zip并非最新的。下载地址为:、解压之后得到目录:打开libs会看到会多jar这里边包括了所有的jar和source和doc。当然我们只是需要使用jar就可以了。3、创建空的web项目目录结构如下:其中user实体类为:publicclassUser{privateStringname;privateIntegerage;privateDatebirth;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicUser(Stringname,Integerage,Datebirth){super();this.name=name;this.age=age;this.birth=birth;}publicIntegergetAge(){returnage;}publicvoidsetAge(Integerage){this.age=age;}publicDategetBirth(){returnbirth;}publicvoidsetBirth(Datebirth){this.birth=birth;}publicUser(){super();//TODOAuto-generatedconstructorstub}publicUser(Stringname){super();this.name=name;}@OverridepublicStringtoString(){//TODOAuto-generatedmethodstubreturn[+name+];}}4、在项目中添加如下jar文件:spring-webmvc-3.2.0.RELEASE.jarspring-core-3.2.0.RELEASE.jarspring-context-3.2.0.RELEASE.jarspring-beans-3.2.0.RELEASE.jarspring-web-3.2.0.RELEASE.jarcommons-logging.jarspring-expression-3.2.0.RELEASE.jar其中commons-logging.jar请单独下载。5、在web.xml中添加过滤器的配置。servletservlet-nameexample/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/spring-servlet.xml/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-nameexample/servlet-nameurl-pattern*.do/url-pattern/servlet-mapping这个org.springframework.web.servlet.DispatcherServle即为springMVC的核心控制器。其中init-param中配置的是spring的配置文件的文件路径。6、在WEB-INF下添加spring的配置文件spring-servlet.xml文件内容如下:?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:p=:mvc=:context=:util=:schemaLocation=://://://://://://://!--启动spring自动扫描--context:component-scanbase-package=com.niit.springmvc/mvc:annotation-driven/!--支持spring3.0新的mvc注解--!--启动SpringMVC的注解功能,完成请求和注解POJO的映射--beanclass=org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter//beans其中schemaLocation和xmlns建议直接拷贝。7、创建UserController如下:@Controller@RequestMapping(/user.do)publicclassUserController{@RequestMapping(params=method=add)publicStringaddUser(Modelmodel){model.addAttribute(message,添加了一个用户);System.out.println(UserController.addUser());return/WEB-INF/