0054 Spring MVC的@Controller和@RequestMapping注解
@Controller注解
该注解用来指示一个类是一个控制器,在Spring的配置xml文件中开启注解扫描
<context:conponent-scan base-package="包路径" />
后,DispatcherServlet会扫描使用该注解的类的方法,再检测是否使用了@RequestMapping注解,使用了该注解才会将处理方法映射到对应的请求上
类似于@Controller的注解还有这些:
@Controller:表明这是一个控制器组件
@Service:表明这是一个业务组件,一个请求往往需要服务器进行很多个操作,这些操作就集中放在一个service里面,给controller调用
@Repository:表明这是一个持久化组件,就是跟数据库打交道的
@Component:其他组件
使用@Controller注解的类,不需要实现Controller接口,不需要重写ModelAndView handleRequest(request,response)方法,返回值也一定是ModelAndView,参数也可以是其他
请求处理方法值可以是:
ModelAndView
Model
Map<k,v>
View
String
HttpEntity或者ResponseEntity
Callbale
DeferredResult
void
请求处理方法的参数可以是:
HttpServletRequest、HttpServletResponse、HttpSession
Model、ModelMap
WebRequest、NativeWebRequest
Locale
InputStream、Reader
OutputStream、Writer
Principal
HttpEntity
Map
RedirectAttributes
Errors
BingdingResult
SessionStatus
UriComponentBuilder
注解:@PathVariable、@MatrixVariable、@RequestParam、@RequestHeader、@RequestBody、@RequestPart
@RequestMapping注解
这个注解可以用在类和方法上
用在类上面:表示这个类下面的方法都映射到该注解的value属性所指定的路径下。
该注解有几个属性:
value:默认属性,映射一个请求到一个方法上
method:表明给方法只处理指定的请求。省略则表示可处理任意http请求。RequestMethod.POST(.GET;.HEAD;.PUT;.PATCH;.DELETE;.OPTIONS;.TRACE)
consumes:指定处理请求的提交内容类型。也就是Http请求的Content-Type字段
produces:指定返回的内容类型,返回的类型比如是请求头的Accept中所包含的类型
params:指定请求中必须包含某些参数值时,才让该方法处理。比如@RequestMapping(params="k1=v2"),表示请求中包含k1=v2的请求才交由该方法处理
headers:表示请求中必须包含某些特定的header值,才让该方法处理。
其他:
关于Spring MVC的控制器,@RequestMapping注解,这篇博文写得比较详细,可以仔细看看:http://www.cnblogs.com/best/p/5659596.html
0054 Spring MVC的@Controller和@RequestMapping注解的更多相关文章
- Spring MVC 之@Controller@RequestMapping详解
一:配置web.xml 1)问题:spring项目中有多个配置文件mvc.xml dao.xml 2)解决:在web.xml中 <init-param> <param-name& ...
- Spring MVC 4常用的那些注解
Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam, @ModelAttribute等等这样类似的注解.到目前为止,Spring的版 ...
- [转]Spring MVC 4常用的那些注解
Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam, @ModelAttribute等等这样类似的注解.到目前为止,Spring的版 ...
- 详解Spring MVC 4常用的那些注解
Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam, @ModelAttribute等等这样类似的注解.到目前为止,Spring的版 ...
- 针对spring mvc的controller内存马-学习和实验
1 基础 实际上java内存马的注入已经有很多方式了,这里在学习中动手研究并写了一款spring mvc应用的内存马.一般来说实现无文件落地的java内存马注入,通常是利用反序列化漏洞,所以动手写了一 ...
- Spring mvc框架 controller间跳转 ,重定向 ,传参
一.需求背景 1. 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. @Req ...
- spring mvc在Controller中获取ApplicationContext
spring mvc在Controller中获取ApplicationContext web.xml中进行正常的beans.xml和spring-mvc.xml的配置: 需要在beans.xml中进行 ...
- 如何开始创建第一个基于Spring MVC的Controller
万事开头难,良好的开端是成功的一半! 以下示例怎么开始创建我们的第一个Spring MVC控制器Controller 1.新建一个java类,命名为:MyFirstController,包含以下代码, ...
- spring mvc 的Controller类默认Scope是单例(singleton)的
使用Spring MVC有一段时间了,之前一直使用Struts2,在struts2中action都是原型(prototype)的, 说是因为线程安全问题,对于Spring MVC中bean默认都是(s ...
随机推荐
- 添加javabrowser 支持中文
//搜网上的javabrowser都不支持中文在线修改保存,且文件名包含中文.修改如下 <%@page import="java.util.*, java.net.*, java.te ...
- 一个简单的WebService服务
现在,网上提供的免费的webservice服务的网站: http://www.webxml.com.cn/ 从扩展名上看,是 .net构建的网站. 看看功能的实现效果: 需求:我们要远程调用手机号归属 ...
- [Git] git revert ( revert commit 和 revert merge)
转载自:http://blog.csdn.net/qinjienj/article/details/7621887 我们难免会因为种种原因执行一些错误的commit / push,git提供了reve ...
- [Eclipse插件] Eclipse中如何安装和使用GrepCode插件
Java是开源的世界,如何快速的搜索到你需要的Java源码呢?2009年7月17日,GrepCode团队发布了一个有趣的 Java源码搜索引擎-GrepCode .与现有的各种搜索引擎相比,Java源 ...
- OpenWRT DNS无法解析WAN连接的内网服务器域名
系统版本OpenWrt Chaos Calmer 15.05.1,网络连接为:WAN口连接内网10.x.x.x网段,WAN口设置为静态IP.设置L2TP接口,通过L2TP访问外网.问题出现于,所有外网 ...
- HDU5312 Sequence
题意:t组数据,每组数据给个m.问m最少能由几项形如3*n*(n-1)+1的数表示 eg 7=1(n=1)+1(n=1)+1(n=1)+1(n=1)+1(n=1)+1(n=1)+1(n=1); ...
- 有关﹤![CDATA[ ]]> 说明
CDATA DTD中的属性类型 全名:character data 在标记CDATA下,所有的标记.实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待, CDATA的形式如下: <! ...
- Unity 4.x 各版本IOS IL2CPP对比
不同Unity版本IL2CPP对比 Unity版本 C++代码总行数 泛型相关行数 Attribute相关行数 IPA大小 纯64位 64位+32位 备注 4.6.4f1 约3302万行 约2508万 ...
- 强大的代码生成工具 MyGeneration
MyGeneration是一个功能很强大的代码生成工具.通过编写包含各种类型脚本(C#,VB.Net,JScript,VBScript)的模板,通过数据库的表内容,生成你需要的各种代码.你可以用它来生 ...
- Apache OFBiz 添加样式
1.打开themes文件夹,拷贝一份样式作为自己的样式更改初始样式,我这里拷贝的是flatgrey文件夹,重新命名为qlstyle 2.在文件/ofbiz/framework/common/c ...