文档详情

SpringMVC解析.doc

发布:2017-01-07约4.44千字共12页下载文档
文本预览下载声明
Spring MVC Spring MVC介绍 Spring3 MVC VS Struts2 官方的下载网址是:/download Spring MVC会比Struts快,在Struts中默认配置了很多缺省的拦截器,在给开发者提供便利的同时,失去了灵活性和开发效率. Spring mvc是基于方法的设计, 而Sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,可控制更强 设计思想上:Struts更加符合oop的编程思想,Spring是在在Servlet上扩展 提供强大的约定大于配置的契约式编程支持 支持JSR 303验证规范,实现了基于注解方式的可验证的Java Bean 第一个MVC案例 配置前端过滤器 DispatcherServlet实际上是一个Servlet(它继承了HttpServlet)。与其它Servlet一样,DispatcherServlet定义在web应用的web.xml文件中。 DispatcherServlet处理的请求必须在同一个web.xml文件里使用url-mapping定义映射 servlet servlet-nameaction/servlet-name servlet-classorg.springframework.web.servlet.DispatcherServlet /servlet-class !-- 修改路径默认加载路径 -- init-param param-namecontextConfigLocation/param-name param-valueclasspath:springMVC.xml/param-value /init-param load-on-startup1/load-on-startup /servlet servlet-mapping servlet-nameaction/servlet-name url-pattern*.action/url-pattern /servlet-mapping 创建控制器 控制器的概念是MVC设计模式的一部分(确切地说,是MVC中的C)。应用程序的行为通常被定义为服务接口, 而控制器使得用户可以访问应用所提供的服务。控制器解析用户输入,并将其转换成合理的模型数据,从而可以进一步由视图展示给用户。 Spring以一种抽象的方式实现了控制器概念,这样可以支持不同类型的控制器。Spring本身包含表单控制器、命令控制器、向导型控制器等多种多样的控制器。 Spring控制器架构的基础是org.springframework.mvc.Controller接口其代码如下 /** * 演示了Spring mvcZ中的c, 它负责处理请求并返回合适的模型和视图 * Spring MVC实现的基础 就是这三个概念:Mdel、View(ModelAndView)以及 Controller */ public class FirstController implements Controller { // 构造方法,在启动的时候就创建Action,而且常驻内容,注意与Struts Action生命周期不同 public FirstController(){ System.out.println(---FirstController()---); } /* * 必须实现接口定义的方法, 类似Servlet中的request,response * */ public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println(-----handleRequest-----); request.setAttribute(pass,admin***); // 与Struts不同,这里返回的是称为ModelView 由Model与View组成, // 呈现的数据可以存储到Model中,Mode作用域的范围默认为request对象 MapString,String model=new HashMapString, String(); model.put(name,admin); return new ModelAndView(first,model); } } 可以发现Controller接口仅仅声明了一个方法,它负责处理请求
显示全部
相似文档