SpringMVC(二)@RequestMapping
学习@RequestMapping注解,参考Spring API
1.@RequestMapping可以修饰在类类型和方法上
①.修饰在类定义上: 提供初步的URL映射,相对于web应用根目录。
②.修饰在方定义法上: 提供更细致的URL映射,若类定义上有注解,则相对于类定义上的URL映射。否则相对于web应用根目录映射
代码1:
只在方法上加@RequestMapping:
1: @Controller
2: public class TestRequestMapping {
3: @RequestMapping("/testMethod")
4: public String testMethod() {
5: System.out.println("testMethod");
6: return "success";
7: }
8: }URL:
1: <a href="testMethod">testMethod</a>
代码2:
在类和方法上加@RequestMapping:
1: @RequestMapping("/testClass")
2: @Controller
3: public class TestRequestMapping {
4: @RequestMapping("/testMethod")
5: public String testClassAndMethod() {
6: System.out.println("testClassAndMethod");
7: return "success";
8: }
9: }URL:
1: <a href="testClass/testMethod">testClassAndMethod</a>
代码3:
只在类上加@RequestMapping:
1: @RequestMapping("/testClass")
2: @Controller
3: public class TestRequestMapping {
4:
5: public String testClassAndMethod() {
6: System.out.println("testClass");
7: return "success";
8: }
9: }URL:
1: <a href="testClass">testClass</a>
运行时,发出Tomcat警告: No mapping found for HTTP request with URI [/mvc02/testClass] in DispatcherServlet with name 'dispatcherServlet'。
也就说在类上加注解后,必须在方法上也加注解。查看api,发现开头第一句 Annotation for mapping web requests onto specific handler classes and/or handler methods
好吧没仔细看api,classes and/or handler methods。(⊙﹏⊙)b
2.@RequestMapping有7个参数,value,method,headers,params之间是与的关系:
String[] value URL路径:"/myPath/myMethod" RequestMethod[] method 请求方式:GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE String[] headers 请求头,用法与params类似,支持简单表达式 String[] params 请求参数,支持简单表达式
params={"name"}:参数中必须包含名为name的参数
params={"!name"}:参数中不能包含名为name的参数
params={"name!=xx"}:参数中若包含了名为name的参数,
则name!=xx。参数中也可以不包含名为name的参数
params={"name=xx"}:参数中必须包含名为name的参数,
且name=xx。String[] produces 指定哪些媒体类型可以不需要 String[] consumes 指定哪些媒体类型可以额外 添加 String name 映射名称
method——代码:
1: @RequestMapping("/testClass")
2: @Controller
3: public class TestRequestMapping {
4: @RequestMapping(value = "/testMethod_GET", method = RequestMethod.GET)
5: public String testMethod_GET() {
6: System.out.println("method running....");
7: return "success";
8: }
9:
10: @RequestMapping(value = "/testMethod_POST", method = RequestMethod.POST)
11: public String testMethod_POST() {
12: System.out.println("method running....");
13: return "success";
14: }
15:
16: }URL:
1: <form action="testClass/testMethod_POST" method="post">
2: <input type="submit" value="testMethod_POST"/>
3: </form>
4: <br/><br/>
5:
6: <a href="testClass/testMethod_GET">testMethod_GET</a>
SpringMVC(二)@RequestMapping的更多相关文章
- SpringMVC(二):RequestMapping修饰类、指定请求方式、请求参数或请求头、支持Ant路径
@RequestMapping用来映射请求:RequestMapping可以修饰方法外,还可以修饰类 1)SpringMVC使用@RequestMapping注解为控制指定可以处理哪些URL请求: 2 ...
- SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解
版权声明:本文为博主原创文章,博客地址:http://blog.csdn.net/a67474506?viewmode=contents 1.1. @RequestMapping映射请求 Spring ...
- SpringMVC注解@RequestMapping之produces属性导致的406错误
废话不多说,各位,直接看图说话,敢吗?这个问题网上解决的办法写的狠是粗糙,甚至说这次我干掉它完全是靠巧合,但是也不否认网上针对406错误给出的解决方式,可能是多种情况下出现的406吧?我这次的流程就是 ...
- springMVC(1)---@RequestMapping详解
@RequestMapping详解 RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径.这句话,太熟悉了. ...
- SpringMVC(三) RequestMapping修饰类
SpringMVC使用@RequestMapping 注解为控制器指定可以处理哪些URL请求. 可以用于类定义以及方法定义: 类定义:提供初步的请求映射信息.相对于WEB应用的根目录. 方法处:提供进 ...
- SpringMVC(十二) RequestMapping使用POJO作为参数
将一个普通的JAVA类对象作为一个参数传入. POJO类Address: package com.tiekui.springmvc.pojo; public class Address { priva ...
- SpringMVC中 -- @RequestMapping的作用及用法
一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.x ...
- SpringMVC的@RequestMapping和Controller方法返回值
本节内容: @RequestMapping Controller方法返回值 一.@RequestMapping 通过@RequestMapping注解可以定义不同的处理器映射规则. 1. URL路径映 ...
- SpringMVC注解@RequestMapping @RequestParam @ResponseBody 和 @RequestBody 解析
SpringMVC Controller层获取参数及返回数据的方式: @RequestMapping @RequestMapping(“url”),这里的 url写的是请求路径的一部分,一般作用在 C ...
- 【SpringMVC】---RequestMapping、Ant 路径、PathVariable 注解、HiddenHttpMethodFilter 过滤器、用 POJO 作为参数
一.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...
随机推荐
- 阿里云服务器centos7环境下安装xampp后,mysql有进程,但是却没有监听3306端口
配置阿里云服务器centos7中xampp环境时出现了一种情况: 在centos中可以使用命令进入mysql 修改后也可以远程用phpmyadmin连接mysql 但是用navicat却无法连接 先修 ...
- 博弈论题目总结(二)——SG组合游戏及变形
SG函数 为了更一般化博弈问题,我们引入SG函数 SG函数有如下性质: 1.如果某个状态SG函数值为0,则它后继的每个状态SG函数值都不为0 2.如果某个状态SG函数值不为0,则它至少存在一个后继的状 ...
- ubuntu 配置lamp
官方配置网站:http://wiki.ubuntu.org.cn/LAMP_%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%A ...
- phpstorm zhuce ma
username :cf96PiPYt271u1TC License Key : 97807-12042010 00001GctOKh8f206hliugiW6iAS5bh 8AAXfEtfpdDSr ...
- vue中访问数据接口的配置
业务API接口地址: http://localhost:3816/api/ 前端UI浏览地址:http://127.0.0.1:8080/#/home 由于同源策略的问题: 需要配置代理: 在开发环境 ...
- MyBatis学习总结(9)——使用MyBatis Generator自动创建代码
一.构建一个环境 1. 首先创建一个表: [sql] view plaincopy CREATE TABLE t_user ( USER_ID INT NOT NULL AUTO_INCREMENT, ...
- 念念不忘SERVLET
这个弄弄也有意思,以前无法入门,没有系统性概念,现在慢慢开始懂了.. 这个SERVLET/JSP学习笔记也易懂.. 那个JAVA7程序设计也可以慢慢看来,, 再加上SPRING,我黑心了??:) pa ...
- POJ 1678
博弈题,使用DP来完成.开始时,我以为可以用极大极小加剪枝可以过,但,TLE... 看过一些题解,没看懂,但也由此有了启发: 我们只记录差(初始为0),那为1选的数即为在原差值上加上该数,2选即是减去 ...
- 支付宝钱包手势password破解实战(root过的手机可直接绕过手势password)
/* 本文章由 莫灰灰 编写,转载请注明出处. 作者:莫灰灰 邮箱: minzhenfei@163.com */ 背景 随着移动互联网的普及以及手机屏幕越做越大等特点,在移动设备上购物.消费已是 ...
- GNUPlot绘制曲线
发现gnuplot在mac上编译安装相当方便,在线下为了測试java老堆和lucene索引大小,须要绘制两条线,可是直接点连的线很难看,所以后面使用贝塞尔曲线. 脚本例如以下: #! /usr/loc ...