spring mvc学习笔记二:@RequestMapping
@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestMapping注解有六个属性:value、method、params、header、 consumes,produces
1、value:指定请求的实际地址 。
2、method:指定请求的method类型, GET、POST、PUT、DELETE等。
3、params:指定request中必须包含指定的参数值,才让该方法处理。
4、headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
value和method是常用属性,params和headers属性了解即可。
案例:
1、value/method
value值:
①value的值为普通值,如value="helloworld"
②value的值含变量,如value="hellowrold/{id}" 此处使用了{}占位符来传递变量,可以使用@PathVariable注解取值,后面会有例子
当然value的值还可以为Ant风格或者是正则表达式,由于不是很常用,此处略过。
案例1:value值为普通值,method为GET请求方式
index.jsp
<a href="helloWorld">点击我跳转到hello.js页面</a>
package com.springmvc; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; @Controller
public class HelloWorldController { /**
* 1. 使用 @RequestMapping 注解来映射请求的 URL
* 2. 返回值会通过视图解析器解析为实际的物理视图, 对于 InternalResourceViewResolver 视图解析器, 会做如下的解析:
* 通过 prefix + returnVal + 后缀 这样的方式得到实际的物理视图, 然会做转发操作
*
* /WEB-INF/views/hello.jsp
*
* @return
*/
@RequestMapping(value="helloWorld",method=RequestMethod.GET)
public String helloWorld(){
System.out.println("Hello World");
return "hello";
}
}
案例2:value的值含变量,method为GET请求方式
index.jsp
<a href="requestMapping/Are you ok">传递参数</a>
HelloWorldController.java
package com.springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HelloWorldController { @RequestMapping(value="/requestMapping/{info}",method=RequestMethod.GET)
public String testRequestMapping(@PathVariable(value="info") String info){
System.out.println("info:"+info);
return "hello";
}
}
案例3:value的值为普通值,method为POST请求方式
index.jsp
<form action="springmvc/testPostMethod" method="POST">
<input type="submit" value="post请求" />
</form>
package com.springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
private static String SUCCESS = "success"; @RequestMapping(value="testPostMethod",method=RequestMethod.POST)
public String testPostMethod(){
System.out.println("POST Request success");
return SUCCESS;
} }
package com.springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
private static String SUCCESS = "success"; /**
* 该方法处理同时满足以下条件
*1、 params中包含username参数并且age=10
*2、headers中Accept-Language参数值为zh-CN,zh;q=0.8
*的请求
*
* @return
*/
@RequestMapping(value="/testParamsAndHeader",params={"username","age=10"},headers={"Accept-Language=zh-CN,zh;q=0.8"})
public String testParamsAndHeader(){
System.out.println("Test Params and Header");
return SUCCESS;
} /**
* 该方法处理params中包含username参数并且age=10的请求
* @return
*/
@RequestMapping(value="/testParams",params={"username","age=10"})
public String testParams(){
System.out.println("Test Params");
return SUCCESS;
} }
spring mvc学习笔记二:@RequestMapping的更多相关文章
- Spring MVC 学习笔记一 HelloWorld
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
- Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息
Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...
- Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目
Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. ...
- Spring MVC 学习笔记1 - First Helloworld by Eclipse【& - java web 开发Tips集锦】
Spring MVC 学习笔记1 - First Helloworld by Eclipse reference:http://www.gontu.org 1. 下载 Spring freamwork ...
- Spring MVC 学习笔记(二)
6. 视图和视图解析器 ❤ Spring MVC如何解析视图 • 请求处理方法执行完成后,最终返回一个ModelAndView对象 ...
随机推荐
- BMP头文件格式以及C语言读取头文件【转】
BMP头文件格式以及C语言读取头文件[转] (2011-12-24 22:59:17) 转载▼ 标签: 杂谈 分类: 各个领域的知识 BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文 ...
- shell中bc expr [ ] (( ))的使用方法
http://blog.chinaunix.net/uid-20671208-id-3552751.html
- Visual Studio最好用的快捷键
当然每个人常用的一般都会有些不一样,欢迎大家评论说出自己常用或最常用的快捷键吧,比比看谁用的巧~~~ ctrl+-(shift+ctrl+-):移动光标到上次位置或相反,比如定位一个函数,转到函数定义 ...
- Redis(一) 介绍
先说明下,本人是在windows系统下用的. 简单介绍一下,是nosql数据库,采用key-value存储方式形式.可用于处理高并发日志.维护top表等. 如果把它完全当初数据库使用,当做小型数据库还 ...
- 剑指Offer:面试题31——连续子数组的最大和(java实现)
问题描述 : 输入一个整数数组,数组里面有正数也有负数.数组中一个或连续几个整数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n) 思路1:常规解法,不知道怎么描述了.. 代码: bo ...
- iPad 控件 UIPopoverPresentationController 使用 iPhone可用
UIPopoverController 在iOS9之后被废弃了,,, iOS8 新控件UIPopoverPresentationController可运用在iphone和iPad上,使用基本同 UIP ...
- python多线程和多进程对比
1.多线程:开启一个进程test.py ,占用两个cpu 共占用45%左右(top -c ,按1) 多进程:开启两个进程test.py 用两个cpu 90%*2左右 test.py # codi ...
- jQuery.ajax()调用asp.net后台方法
利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.介意方法名不要重名 建一个WebFormAjax名aspx文件 CS <%@ Page Language=" ...
- python字典嵌套字典的情况下获取某个key的value
最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况.在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字 ...
- [转]在 ASP.NET MVC 4 中创建为移动设备优化的视图
原文链接 https://msdn.microsoft.com/zh-cn/magazine/dn296507.aspx 如果深入探讨有关编写移动设备网站的常识性考虑因素,会发现其中有一种内在矛盾. ...