Spring MVC基于注解@Controller和@RequestMapping开发的一个例子
1.创建web项目
2.在springmvc的配置文件中指定注解驱动,配置扫描器
在 Spring MVC 中使用扫描机制找到应用中所有基于注解的控制器类,所以,为了让控制器类被 Spring MVC 框架扫描到,需要在配置文件中声明 spring-context,并使用 <context:component-scan/> 元素指定控制器类的基本包(请确保所有控制器类都在基本包及其子包下)。
1 <!-- 使用扫描机制扫描控制器类,控制器类都在controller包及其子包下 --> 2 <context:component-scan base-package="com.springmvc.mycontroller"></context:component-scan> 3 4 <!-- 配置视图解析器 --> 5 <bean 6 class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 7 <!-- 配置前缀 --> 8 <property name="prefix" value="/WEB-INF/jsp/"></property> 9 <!-- 配置后缀 --> 10 <property name="suffix" value=".jsp"></property> 11 </bean>
3.新建一个控制类,@controller:标识当前类是控制层的一个具体的实现,
@requestMapping:放在方法上面用来指定某个方法的路径,当它放在类上的时候相当于命名空间需要组合方法上的requestmapping来访问。
package com.springmvc.mycontroller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * springmvc 使用注解@controller实现 * @author Administrator * */ @Controller public class IndexController { @RequestMapping(value="/index") public String Index(){ /** * index代表逻辑视图名称,需要根据Spring MVC配置 * 文件中internalResourceViewResolver的前缀和后缀找到对应的物理视图 */ return "index"; } @RequestMapping(value="/login") public String login(){ return "login"; } }
4.测试
总结:
1.使用基于注解的控制器具有以下两个优点:
在基于注解的控制器类中可以编写多个处理方法,进而可以处理多个请求(动作),这就允许将相关的操作编写在同一个控制器类中,从而减少控制器类的数量,方便以后的维护。基于注解的控制器不需要在配置文件中部署映射,仅需要使用 RequestMapping 注释类型注解一个方法进行请求处理
2.@RequestMapping
@RequestMapping既可以放在方法上(注解的 value 属性将请求 URI 映射到方法),也可以放在类级别上(为了方便维护程序,建议开发者采用类级别注解,将相关处理放在同一个控制器类中。例如,对商品的增、删、改、查处理方法都可以放在 控制类中。)
3.请求处理方法常见的返回类型
最常见的返回类型就是代表逻辑视图名称的 String 类型,例如前面教程中的请求处理方法。除了 String 类型以外,还有 ModelAndView、Model、View 以及其他任意的 JAVA 类型。
学习本是一个不断抄袭、模仿、练习、创新的过程。
虽然,园中已有本人无法超越的同主题博文,为什么还是要写。
对于自己,博文只是总结。在总结的过程发现问题,解决问题。
对于他人,在此过程如果还能附带帮助他人,那就再好不过了。
由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。