目录
一、@Controller、@RequestMapping
1.1 示例程序
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/c3")
public class MyController3 {
/**
* 访问路径为 /c3/annotation1
* 支持post和get请求
* 请求时必须带有age参数
* 请求时必须带有User-agent请求头
* @param username
* @return
*/
@RequestMapping(path = "/annotation1",method = {RequestMethod.GET,RequestMethod.POST},params = {"age"},headers = {"User-agent"})
public String annotation1(String username){
System.out.println("annotation1\t"+username);
return "lyl-HQX";
}
}
1.2 测试结果
二、@RequestParam
2.1 示例程序
// 在控制器方法中获取请求参数
@RequestMapping("/annotation2")
public String annotation2(@RequestParam(name = "name",defaultValue = "HQX",required = false) String name){
System.out.println("annotation2\t"+name);
return "lyl-HQX";
}
2.2 测试结果
三、@RequestHeader、@CookieValue
3.1 示例程序
/**
* @RequestHeader
* 作用:在控制器方法中获取请求头数据
* 位置:方法参数前
* @CookieValue
* 作用:在控制器方法中获取Cookie数据
* 位置:方法参数前
*/
// 获取User-Agent请求头和JSESSIONID的Cookie值
@RequestMapping("/annotation3")
public String annotation3(@RequestHeader("User-Agent")String userAgent, @CookieValue("JSESSIONID") String jSessionId){
System.out.print("annotation3\t");
System.out.println("userAgent: "+userAgent);
System.out.print("jSessionId: " + jSessionId);
return "lyl-HQX";
}
3.2 测试结果
四、@SessionAttributes
4.1 示例程序
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;
import javax.servlet.http.HttpSession;
@Controller
@RequestMapping("/c4")
// 将Model模型中name的数据存到session域中
@SessionAttributes("name")
public class MyController4 {
@RequestMapping("/t1")
public String t1(Model model){
// model1中保存name数据
model.addAttribute("name","LYL");
return "lyl-HQX";
}
@RequestMapping("/t2")
public String t2(HttpSession session){
// 从session中获取name数据
System.out.println(session.getAttribute("name"));
return "lyl-HQX";
}
}
4.2 测试结果
五、@ModelAttribute
5.1 示例程序
作用一示例程序:
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/c5")
public class MyController5 {
// @ModelAttribute作用1:设置指定方法在控制器其他方法前执行
@ModelAttribute
public void before(){
System.out.println("前置方法");
}
@RequestMapping("/t1")
public String t1(){
System.out.println("t1");
return "lyl-HQX";
}
}
作用二示例程序:
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/c5")
public class MyController5 {
// @ModelAttribute作用1:设置指定方法在控制器其他方法前执行
@ModelAttribute
public void before(Model model){
System.out.println("前置方法");
model.addAttribute("name","LYL");
}
@RequestMapping("/t1")
public String t1(@ModelAttribute("name") String name){
System.out.println(name);
return "lyl-HQX";
}
}
5.2 测试结果
往期专栏&文章相关导读
1. Maven系列专栏文章
Maven系列专栏 | Maven工程开发 |
Maven聚合开发【实例详解---5555字】 |
2. Mybatis系列专栏文章
Mybatis系列专栏 | MyBatis入门配置 |
Mybatis入门案例【超详细】 | |
MyBatis配置文件 —— 相关标签详解 | |
Mybatis模糊查询——三种定义参数方法和聚合查询、主键回填 | |
Mybatis动态SQL查询 --(附实战案例--8888个字--88质量分) | |
Mybatis分页查询——四种传参方式 | |
Mybatis一级缓存和二级缓存(带测试方法) | |
Mybatis分解式查询 | |
Mybatis关联查询【附实战案例】 | |
MyBatis注解开发---实现增删查改和动态SQL | |
MyBatis注解开发---实现自定义映射关系和关联查询 |
3. Spring系列专栏文章
Spring系列专栏 | Spring IOC 入门简介【自定义容器实例】 |
IOC使用Spring实现附实例详解 | |
Spring IOC之对象的创建方式、策略及销毁时机和生命周期且获取方式 | |
Spring DI简介及依赖注入方式和依赖注入类型 | |
Spring IOC相关注解运用——上篇 | |
Spring IOC相关注解运用——下篇 | |
Spring AOP简介及相关案例 | |
注解、原生Spring、SchemaBased三种方式实现AOP【附详细案例】 | |
Spring事务简介及相关案例 | |
Spring 事务管理方案和事务管理器及事务控制的API | |
Spring 事务的相关配置、传播行为、隔离级别及注解配置声明式事务 |
4. Spring MVC系列专栏文章
SpringMVC系列专栏 | Spring MVC简介附入门案例 |
Spring MVC各种参数获取及获取方式自定义类型转换器和编码过滤器 | |
Spring MVC获取参数和自定义参数类型转换器及编码过滤器 | |
Spring MVC处理响应附案例详解 | |
Spring MVC相关注解运用 —— 上篇 | |
Spring MVC相关注解运用 —— 中篇 | |
Spring MVC相关注解运用 —— 下篇 | |
Spring MVC多种情况下的文件上传 | |
Spring MVC异步上传、跨服务器上传和文件下载 | |
Spring MVC异常处理【单个控制异常处理器、全局异常处理器、自定义异常处理器】 | |
Spring MVC拦截器和跨域请求 | |
SSM整合案例【C站讲解最详细流程的案例】 |