当前位置: 首页 > news >正文

【Easylive】获取request对象的两种方式

【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版

1. 通过方法参数直接注入(Spring MVC 推荐)

在 Controller 方法中直接声明 HttpServletRequest 参数,Spring 会自动注入当前请求的 request 对象:

@GetMapping("/example")
public String example(HttpServletRequest request) {
    String param = request.getParameter("name");
    return "Param: " + param;
}

优点:简单直接,无需手动处理。

2. 通过 RequestContextHolder 工具类获取

在任何地方(如 Service 层、工具类)通过 Spring 的 RequestContextHolder 静态方法获取:

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

public class MyUtils {
    public static void logRequest() {
        HttpServletRequest request = 
            ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
                .getRequest();
        System.out.println("Request URI: " + request.getRequestURI());
    }
}

适用场景:非 Controller 层(如 Service、AOP)需要获取 request 时。

http://www.dtcms.com/a/103100.html

相关文章:

  • windows 下 通过虚拟化拦截对一个text.txt文件的访问 如果要打开的文件名为 text.txt 提示无权限
  • MySQL in和exists的取舍
  • 批量清空或者删除 PDF 文档中作者、创建程序、修改时间等元数据
  • 【Easylive】application.yml文件中都是什么作用
  • Day78 | 灵神 | 反转链表 两两交换链表中的节点
  • 每天学一个 Linux 命令(9):useradd/userdel
  • EDI传输中的OFTP AS2
  • 【模拟CMOS集成电路设计】电荷泵(Charge bump)设计与仿真(示例:栅极开关CP+轨到轨输入运放+基于运放CP)
  • CentOS 7 安装 Kubernetes 1.28.2 集群
  • 企业如何构建风控合规体系?
  • LLM - 推理大语言模型 DeepSeek-R1 论文简读
  • python接口自动化测试:接口数据依赖
  • 蓝桥杯备考---》贪心算法之矩阵消除游戏
  • 理解Java数据库编程之JDBC
  • 用户模块——业务校验工具AssertUtil
  • 10-SpringBoot3入门-整合TX(事务)
  • 【插件】美化html标签的class 属性上的 tailwindcss 类;Prettier-plugin-tailwindcss
  • 数据链路层协议--以太网协议
  • 结构型设计模式。持续更新
  • ToolsSet之:梯度色板
  • MySQL与Redis数据一致性保障方案详解
  • Langflow深度解析:从核心概念到开发实践
  • Vitis HLS 学习笔记--块级控制(IDE 2024.1 + 执行模式 + 默认接口实现)
  • USB——删除注册表信息
  • UE5学习笔记 FPS游戏制作33 换子弹 动画事件
  • 服务新增节点、迁移笔记
  • 【零基础入门unity游戏开发——通用篇】图片相关设置
  • 【编译、链接与构建详解】Makefile 与 CMakeLists 的作用
  • 【NLP 面经 3】
  • 基于Python的Django框架的个人博客管理系统