Spring MVC3注解学习之简单入门范例.docx_第1页
Spring MVC3注解学习之简单入门范例.docx_第2页
Spring MVC3注解学习之简单入门范例.docx_第3页
Spring MVC3注解学习之简单入门范例.docx_第4页
Spring MVC3注解学习之简单入门范例.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Spring MVC3注解学习之简单入门范例文章均为原创,转载请注明出处。本文地址:/post/430.html之前做Web应用都是在用Struts2,觉得功能强大,效率也能提升很多,所以一直都很喜欢Struts。虽然也曾经在接手前人遗留的项目时遭遇过Spring MVC,不过不知道是前人用的不好,还是自己水平差,亦或者是Spring MVC(那个时候还是2)本身的问题,让Spring MVC给自己留下了很不好的印象:配置文件繁琐、功能一般甚至简陋、不能够在开发效率上与Struts2媲美等等问题,致使自己一直以来都是带着偏见看待Spring MVC的,也因此一直都没有再去尝试过。最近是一次偶然的机会,再次正面遭遇Spring MVC,不过这次它改头换面,由2升级到3了,看到别人基于Spring MVC注解方式写出来的简洁流畅的代码后,惊叹于Spring MVC3的注解驱动能力之强大,代码之简洁,觉得自己以前的偏见简直就是愚昧至极,不由地暗自对Spring MVC有了好感,打算实实在在尝试一把。不过自己之前对Spring MVC确实不熟,加之这次升级的内容有点多,所以我找来了一份很好的入门文档Spring3_MVC注解教程作为自己的领路人。这份PPT做的很好,本文也是在此基础上有感而发的,在此感谢作者陈雄华先生的辛勤劳动和无私奉献!本文所示代码均基于最新版SpringFrameword3.2.3,请知悉。Spring MVC框架简介 支持REST风格的URL 添加更多注解,可完全注解驱动 引入HTTP输入输出转换器(HttpMessageConverter) 和数据转换、格式化、验证框架无缝集成 对静态资源处理提供特殊支持 更加灵活的控制器方法签名,可完全独立于Servlet APISpring MVC框架结构框架的实现者如何在应用中使用Spring-MVC?1. 在应用中添加Spring框架支持;2. 在web.xml中配置Spring-MVC的请求转发器(前端控制器)3. 编写Spring-MVC的配置文件4. 将任意JavaBean通过注解配置成Controller(控制器)并注解其中的方法5. 完成步骤简单明了,接下来我们一步一步详细说明:在应用中加入Spring支持:因为Spring-MVC是属于SpringFramework的一部分,因此要在应用中使用Spring-MVC,就必须以引入Spring基础框架为前提,另外还包括beans、context、aop、web组件,将上述组件的jar及其依赖添加到buildpath下,就算完成了为应用添加Spring框架支持的工作,然后在web.xml中配置Spring的监听器,代码如下: org.springframework.web.context.ContextLoaderListener另外,因为是在web应用中使用Spring,因此建议配置一个名为org.springframework.web.util.IntrospectorCleanupListener的监听器来处理资源回收的工作:org.springframework.web.util.IntrospectorCleanupListener再配置一个编码过滤器encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtrueencodingFilter/*在web.xml中配置Spring-MVC的请求转发器(前端控制器)在应用中使用Spring-MVC比较简单,除了需要引入相关依赖库外,还需要在web.xml配置Spring-MVC的请求转发器,代码如下:SpringMVCDispatcherorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:mvc-config.xml1SpringMVCDispatcher/编写Spring-MVC的配置文件在上述代码中,我们告知Spring-MVC的请求转发器我们的mvc配置在classpath:mvc-config.xml中,因此我们需要在该文件中正确描述我们的mvc配置信息,配置代码如下: 将任意JavaBean通过注解配置成Controller(控制器)并注解其中的方法本文主要示范如何使用注解为应用添加Spring-MVC支持,因此本文中的所有MVC映射配置都采用注解方式,范例Controller如下所示:package cn.ysh.studio.spring.mvc.web;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;import cn.ysh.studio.spring.mvc.bean.User;/* * author Shenghany */通过注解将VisitController声明为一个Controller控制器Controller/声明该Controller控制器的请求映射路径为/visit(非必须,可以不声明)RequestMapping(/visit)public class UserController /将当前方法的请求映射路径声明为create RequestMapping(create) /* * 该方法将处理请求到/visit/create(控制器的映射路径(可以没有) + 处理方法的映射路径)路径的HTTP请求 * param model 将会被带到view层使用的数据模型 * return 逻辑视图名 */ public String create(Model model) return create; RequestMapping(value = /visits, method = RequestMethod.POST) public ModelAndView visits() ModelAndView mav = new ModelAndView(visitList); mav.addObject(visits, ); return mav; RequestMapping(value = /show, view, method = RequestMethod.GET, RequestMethod.POST) public String show(User user, Model model) model.addAttribute(username, springmvc); model.addAttribute(password, 类型非常灵活); return show; RequestMapping(/hello/username) public String hello(PathVariable(username)/*URL中的xxx占位符可以通过PathVariable(xxx)绑定到操作方法的入参中*/String username, Model model) model.addAttribute(username, username); model.addAttribute(password, 类型非常灵活); return hello; 为了是上面的Controller能够正常使用,我们还需要在WebRoot下创建Controller中使用的逻辑视图对应的视图文件,以上例中create为例,我们在WEB-INF/jsp/目录下新建jsp文件,内容如下: base href= 创建新用户 这是一个创建新用户的页面,对应的请求地址为visit/create 完成上述四个步骤后,将工程部署到任意web容器(本文采用tomcat6.0),然后启动,即可在浏览器中浏览映射出来的地址,如果需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论