目录

​​一、RequestParam注解​​

​​1、作用​​

​​2、属性​​

​​3、示例​​

​​HelloController类代码:​​

​​index.jsp代码:​​

​​运行结果:成功将name传给了username​​

​​二、RequestBody注解​​

​​1、作用​​

​​2、属性​​

​​3、示例​​

​​HelloController类代码:​​

​​index.jsp代码:​​

​​运行结果:​​

​​三、PathVariable注解​​

​​1、作用​​

​​2、属性​​

​​3、示例​​

​​HelloController类代码:​​

​​index.jsp代码:​​

​​运行结果:​​

​​四、RequestHeader注解(用处不大)​​

​​1、作用​​

​​2、属性​​

​​3、示例​​

​​HelloController类:​​

​​index.jsp页面代码:​​

​​运行结果:​​

​​五、CookieValue注解​​

​​1、作用​​

​​2、属性​​

​​3、示例​​

​​HelloController类:​​

​​index.jsp页面:​​

​​运行结果:​​

​​六、SessionAttributes注解​​

​​1、作用​​

​​2、属性​​

​​3、示例​​

​​HelloConreoller类:​​

​​index.jsp页面:​​

​​运行结果:​​


一、RequestParam注解

1、作用

把请求中指定名称的参数给控制器中的形参赋值;

 

2、属性

value:请求参数中的名称;

name:与value属性功能一直,只是value有其简写特性;

required:请求参数中是否必须提供此参数,默认为true,表示必须提供,否则报错;

 

3、示例

HelloController类代码:

package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello")
public String sayHello(@RequestParam("name")String username){
//打印所传参数
System.out.println(username);
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}

index.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?name=大哥哥">点我调转到success.jsp页面</a>
</body>
</html>

运行结果:成功将name传给了username

【SpringMVC】004-SpringMVC常用注解_jsp页面

 

二、RequestBody注解

1、作用

用于获取请求体内容;

直接使用得到的是key=value&key=value...结构的数据;

get请求方式不适用;

 

2、属性

required:是否必须有请求体,默认为true,必须有,若没有则报错;若为false,get请求返回的是null;

 

3、示例

HelloController类代码:

package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello")
public String sayHello(@RequestBody String body){
//打印请求体内容
System.out.println(body);
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}

index.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">点我调转到success.jsp页面</a>--%>
<form action="hello" method="post">
<input type="text" name="username"/>
<input type="submit" name="submit"/>
</form>
</body>
</html>

运行结果:

【SpringMVC】004-SpringMVC常用注解_jsp页面_02

 

三、PathVariable注解

1、作用

用于绑定url中的占位符;

例如:请求URL——/delete/{id}中,{id}就是URL的占位符;

URL支持占位符是从spring3.0之后加入的,是springmvc支持rest风格URL的一个重要标志;

restful编程风格;

 

2、属性

value:用于指定URL中占位符名称;

required:是否必须提供占位符;

 

3、示例

HelloController类代码:

package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello/{sid}")
public String sayHello(@PathVariable("sid") String id){
//打印id
System.out.println(id);
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}

index.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/100">点我调转到success.jsp页面</a>
</body>
</html>

运行结果:

【SpringMVC】004-SpringMVC常用注解_spring_03

 

四、RequestHeader注解(用处不大)

1、作用

用于获取请求消息头;

 

2、属性

value:提供消息头名称;

required:是否必须有此消息头;

 

3、示例

HelloController类:

package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello")
public String sayHello(@RequestHeader("Accept") String header){
//打印
System.out.println(header);
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}

index.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">点我调转到success.jsp页面</a>
</body>
</html>

运行结果:

【SpringMVC】004-SpringMVC常用注解_spring_04

 

五、CookieValue注解

1、作用

用于获得指定cookie名称的值;

 

2、属性

value:指定cookie的名称;

required:是否必须由此cookie;

 

3、示例

HelloController类:

package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

//控制器
@Controller
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello")
public String sayHello(@CookieValue("JSESSIONID") String cookie){
//打印
System.out.println(cookie);
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}

index.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">点我调转到success.jsp页面</a>
</body>
</html>

运行结果:

【SpringMVC】004-SpringMVC常用注解_java_05

 

六、SessionAttributes注解

1、作用

用于多次执行控制器方法间的参数共享;

 

2、属性

value:用于指定存入的属性名称;

type:用于指定存入的数据类型;

 

3、示例

HelloConreoller类:

package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.support.SessionStatus;

//控制器
@Controller
@SessionAttributes("msg") //将msg=大哥存到session域对象中
public class HelloController {
//设置路径为"/hello"
@RequestMapping(value = "/hello")
public String sayHello(ModelMap modelMap, SessionStatus status){
//将msg=大哥存到request域对象中
modelMap.addAttribute("msg","大哥");
//获取存入的数据
String msg = (String)modelMap.getAttribute("msg");
System.out.println(msg);
//删除requestScope里面的
status.setComplete();
//删除sessionScope里面的
modelMap.remove("msg");
//获取存入的数据
String msg1 = (String)modelMap.getAttribute("msg");
System.out.println(msg1);
//控制台打印"Hello Spring MVC!"
System.out.println("Hello Spring MVC!");
//返回success.jsp页面
return "success";
}
}

index.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">点我调转到success.jsp页面</a>
</body>
</html>

运行结果:

【SpringMVC】004-SpringMVC常用注解_html_06