0
点赞
收藏
分享

微信扫一扫

【SpringMVC】002-RequestMapping注解


目录

​​一、RequestMapping注解的作用​​

​​1、作用​​

​​2、概述​​

​​作用范围:​​

​​作用在类上:​​

​​作用在方法上:​​

​​备注:​​

​​二、RequestMapping注解的属性​​

​​1、name属性(用处不大,以后不会再用)​​

​​2、value属性(常用)​​

​​3、path属性(常用)​​

​​4、method属性(常用)​​

​​5、params属性​​

​​6、headers属性​​

​​7、备注​​

一、RequestMapping注解的作用

1、作用

用于建立请求URL与处理请求方法之间的对应关系;

2、概述

作用范围:

类、方法;

作用在类上:

设置父目录;

例如: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";
}
}

备注:

若仅仅作用在方法上,则可认为没有父目录,直接访问该目录即可;

二、RequestMapping注解的属性

1、name属性(用处不大,以后不会再用)

2、value属性(常用)

用于指定请求的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="值");

3、path属性(常用)

跟value功能一样;

4、method属性(常用)

用于指定请求方式;

举例:

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";
}
}

5、params属性

用于指定限制请求参数的条件;它支持简单的表达式,要求请求参数的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>

6、headers属性

用于指定限制请求消息头的条件;

举例:

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";
}
}

浏览器请求头截图:

【SpringMVC】002-RequestMapping注解_spring

7、备注

以上属性若多个同时出现,则必须同时满足;

举报

相关推荐

0 条评论