用于建立请求URL与处理请求方法之间的对应关系;
类、方法;
设置父目录;
例如:sayHello方法的访问地址为XXX/h1/hello,即<a href="h1/hello">点我调转到success.jsp页面</a>
package com.zibo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//控制器
@Controller
@RequestMapping(path = "/h1")
public class HelloController {
//设置路径为"/hello"
@RequestMapping(path = "/hello")
public String sayHello(){
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}
设置子目录;
例如:sayHello方法的访问地址为XXX/hello,即<a href="hello">点我调转到success.jsp页面</a>
package com.zibo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(path = "/hello")
public String sayHello(){
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}
若仅仅作用在方法上,则可认为没有父目录,直接访问该目录即可;
用于指定请求的URL路径;
举例:
package com.zibo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello")
public String sayHello(){
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}
备注:
value属性惯例:当有且仅有value属性时,不需要写RequestMapping(value="值"),只写RequestMapping(value="值");
跟value功能一样;
用于指定请求方式;
举例:
package com.zibo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello", method = {RequestMethod.GET,RequestMethod.POST})
public String sayHello(){
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}
用于指定限制请求参数的条件;它支持简单的表达式,要求请求参数的key和value必须和配置的一模一样;
举例(java):
package com.zibo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello", params = {"username=ok"})
public String sayHello(){
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}
举例(jsp):
<%--
Created by IntelliJ IDEA.
User: ZiBo
Date: 2020/8/9
Time: 14:52
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>入门程序!</h3>
<a href="hello?username=ok">点我调转到success.jsp页面</a>
</body>
</html>
用于指定限制请求消息头的条件;
举例:
package com.zibo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello", headers = {"Accept"})
public String sayHello(){
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}
浏览器请求头截图:
以上属性若多个同时出现,则必须同时满足;