JavaEE企业级应用开发教程教学ppt课件(共15章)第11章-Spring-MVC的核心类和注解

举报
资源描述
第11章 Spring MVC的核心类和注解Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)(第2版)学习目标/Target 了解Spring MVC核心类的作用 掌握Controller注解的使用 掌握RequestMapping注解的使用 掌握请求的映射方式 章节概述/Summary 自JDK 5推出以来,注解已成为Java知识体系不可缺少的一部分。Spring MVC在Spring 2.5之后也新增了基于注解的Controller形式。基于注解的Controller简化了XML文件配置,极大地提高了开发效率。本章将对Spring MVC的核心类和注解进行详细地讲解。目录/Contents010203DispatcherServletController注解 RequestMapping注解DispatcherServlet11.111.1 DispatcherServlet先定一个小目标!先定一个小目标!了解DispatcherServlet类,能够说出DispatcherServlet核心类的作用有哪些DispatcherServlet作用11.1 DispatcherServlet DispatcherServlet是Spring MVC的核心类,也是Spring MVC的流程控制中心,也称为Spring MVC的前端控制器,它可以拦截客户端的请求。拦截客户端请求之后,DispatcherServlet会根据具体规则将请求交给其他组件处理。所有请求都要经过DispatcherServlet进行转发处理,这样就降低了Spring MVC组件之间的耦合性。DispatcherServlet案例编写说明11.1 DispatcherServlet DispatcherServlet的本质是一个Servlet,可以在web.xml文件中完成它的配置和映射。参考第10章Spring MVC入门程序,在IDEA中创建一个名称为chapter11的Maven Web项目。需要注意的是,如无特殊说明,本章的所有案例都将在chapter11项目中开发和运行。项目创建完成之后,在项目web.xml文件中配置DispatcherServlet。web.xml中对DispatcherServlet的配置分为两个方面。一是配置Spring MVC的前端控制器,二是配置映射的URL路径。1.配置Spring MVC的前端控制器:DispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring-mvc.xml 111.1 DispatcherServlet2.配置映射的URL路径:DispatcherServlet /11.1 DispatcherServletWEB-INF文件夹下默认配置文件命名规则11.1 DispatcherServlet 如果web.xml没有通过元素指定DispatcherServlet初始化时要加载的文件,则应用程序会去WEB-INF文件夹下寻找并加载默认配置文件,默认配置文件的名称规则如下所示。其中,servlet-name指的是web.xml文件中元素的值;“-servlet.xml”是配置文件名的固定拼接。servlet-name-servlet.xml11.1 DispatcherServlet元素取值 元素取值分为三种情况:(1)如果元素的值为正整数或者0,表示在项目启动时就加载并初始化这个Servlet,值越小,Servlet的优先级越高,就越先被加载;(2)如果元素的值为负数或者没有设置,则Servlet会在被请求时加载和初始化;(3)如果元素的值为1,表明DispatcherServlet会在项目启动时加载并初始化。Controller注解11.211.2 Controller注解先定一个小目标!先定一个小目标!掌握Controller注解,能够在程序中熟练运用Controller注解Controller注解作用 11.2 Controller注解 在Spring MVC框架中,传统的处理器类需要直接或间接地实现Controller接口,这种方式需要在Spring MVC配置文件中定义请求和Controller 的映射关系。当后台需要处理的请求较多时,使用传统的处理器类会比较繁琐,且灵活性低,对此,Spring MVC框架提供了Controller注解。使用Controller注解,只需要将Controller注解标注在普通Java类上,然后通过Spring的扫描机制找到标注了该注解的Java类,该Java类就成为了Spring MVC的处理器类。基于Controller注解的处理器类示例代码11.2 Controller注解import org.springframework.stereotype.Controller;.Controller/标注Controller注解public class FirstController .Spring MVC配置文件的类包扫描配置信息 11.2 Controller注解 .Spring扫描配置文件范围 11.2 Controller注解 Spring MVC的配置文件被加载时,Spring会自动扫描com.itheima.controller类包及其子包下的Java类。如果被扫描的Java类中带有Controller、Service等注解,则把这些类注册为Bean并存放在Spring中。与传统的处理器类实现方式相比,使用Controller注解的方式显然更加简单和灵活。因此,在实际开发中通常使用Controller注解来定义处理器类。RequestMapping注解11.311.3.1 RequestMapping注解的使用先定一个小目标!先定一个小目标!掌握RequestMapping注解的使用,能够在程序中熟练运用RequestMapping注解RequestMapping注解作用 11.3.1 RequestMapping注解的使用 RequestMapping注解用于建立请求URL和Handler(处理器)之间的映射关系,该注解可以标注在方法上和类上。下面分别对RequestMapping注解的这两种使用方式进行介绍。方式一标注在方法上 11.3.1 RequestMapping注解的使用 当RequestMapping注解标注在方法上时,该方法就成了一个可以处理客户端请求的Handler(处理器),它会在Spring MVC接收到对应的URL请求时被执行。Handler在浏览器中对应的访问地址,由项目访问路径+处理方法的映射路径共同组成。STEP 01 接下来通过一个案例演示RequestMapping注解标注在方法上的使用。Controllerpublic class FirstController RequestMapping(value=/firstController)public void sayHello()System.out.println(hello Spring MVC);11.3.1 RequestMapping注解的使用创建FirstController类,在类中创建sayHello()方法,用来处理客户端请求。STEP 02 启动项目,在浏览器中访问http:/localhost:8080/chapter11/firstController,控制台打印输出信息。由运行结果可知,sayHello()方法被成功执行,说明RequestMapping注解标注在方法上时,成功建立了请求URL和处理请求方法之间的对应关系。11.3.1 RequestMapping注解的使用方式二标注在类上 11.3.1 RequestMapping注解的使用 当RequestMapping注解标注在类上时,RequestMapping的value属性值相当于本处理器类的命名空间,即访问该处理器类下的任意处理器都需要带上这个命名空间。RequestMapping标注在类上时,其value属性值作为请求URL的第一级访问目录。当处理器类和处理器都使用RequestMapping注解指定了对应的映射路径,处理器在浏览器中的访问地址,由项目访问路径+处理器类的映射路径+处理器的映射路径共同组成。STEP 01 接下来通过一个案例演示RequestMapping注解标注在类上的使用。ControllerRequestMapping(value=/springMVC)public class FirstController RequestMapping(value=/firstController)public void sayHello()System.out.println(hello Spring MVC);11.3.1 RequestMapping注解的使用STEP 02 启动项目,在浏览器中访问http:/localhost:8080/chapter11/springMVC/firstController,控制台打印输出信息。由运行结果可知,sayHello()方法被成功执行,说明RequestMapping注解标注在类上时,成功建立了请求URL和处理请求类之间的对应关系。11.3.1 RequestMapping注解的使用11.3.2 RequestMapping注解的属性先定一个小目标!先定一个小目标!掌握RequestMapping注解的属性,能够在程序中正确使用RequestMapping注解中的属性RequestMapping注解的属性 11.3.2 RequestMapping注解的属性属性名类型描述nameString可选属性,用于为映射地址指定别名。valueString可选属性,也是默认属性,用于指定请求的URL。methodRequestMethod可选属性,用于指定该方法可以处理哪种类型的请求方式。paramsString可选属性,用于指定客户端请求中参数的值,必须包含哪些参数的值,才可以通过其标注的方法处理。headersString可选属性,用于指定客户端请求中,必须包含哪些header的值,才可以通过其标注的方法处理。consumesString可选属性,用于指定处理请求的提交内容类型(Content-type)。producesString可选属性,用于指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。value属性的两种映射路径标注11.3.2 RequestMapping注解的属性 value属性是RequestMapping注解的默认属性。当value属性是RequestMapping注解显式使用的唯一属性时,可以省略value的属性名。例如,下面两种映射路径标注的含义相同。RequestMapping(value=/firstController)RequestMapping(/firstController)使用value属性时,可以指定映射单个的请求URL,也可以将多个请求映射到一个方法上。在value属性中添加一个带有请求路径的列表,就可以将这个请求列表中的路径都映射到对应的方法上。Controllerpublic class AuthController /设定当前方法的访问映射地址列表 RequestMapping(value=/addUser,/deleteUser)public void checkAuth()System.out.println(增删操作校验);11.3.2 RequestMapping注解的属性启动项目,在浏览器中访问地址http:/localhost:8080/chapter11/addUser,控制台打印输出信息。11.3.2 Req
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 办公文档 > 教学/培训


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号