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 ...
随机推荐
- 修复CentOS文件系统
CentOS经常出现一些像 Cannot mkdir: Structure needs cleaning 的文件系统错误,而且在正常模式下无法umount来进行修复.很多时候只能在rescue模式下进 ...
- Python结合Shell/Hadoop实现MapReduce
基本流程为: cat data | map | sort | reduce cat devProbe | ./mapper.py | sort| ./reducer.py echo "foo ...
- 二十四种设计模式:观察者模式(Observer Pattern)
观察者模式(Observer Pattern) 介绍定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新. 示例有一个Message实体类,某些对象 ...
- android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1
Android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1 原因权限问题, 应该添加如下权限: <uses-permission android ...
- 一步一步学RenderMonkey(4)--点光源光照模型 【转】
转载请注明出处:http://blog.csdn.net/tianhai110 点光源光照模型: 公式: I = Icolor*attenuation; ...
- python灰帽子学习感想
Gray Hat Python Python Programming for hackers and reverse engineers Python灰帽子:黑客与逆向project师的Python编 ...
- 使用Material Design 创建App翻译系列---列表和卡片集的创建
上一篇是使用Material Design 创建App翻译系列--材料主题的使用(Using Material Theme),进入正题: 想要在应用里创建Material Design风格的复杂列表和 ...
- svn: warning: xxxx is already under version control
svn stat 查看当前目录下svn状态 svn remove xxxx svn add xxx svn ci -m "注释"
- Spring官方下载地址
改版后的Spring官方网站下载地址找不到了,汗~~ 可以通过该链接下载对应的包:http://repo.spring.io/milestone/org/springframework/ Spring ...
- WebService 之 WSDL详解
WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务 ...