首页 > 其他分享 >SpringMVCUtil工具类

SpringMVCUtil工具类

时间:2024-10-12 16:20:05浏览次数:8  
标签:SpringMVCUtil HttpServletRequest return ServletRequestAttributes HttpServletResp

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.lvym.exception.NotWebContextException;
import com.lvym.exception.SaSpringBootErrorCode;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;



/**
 * SpringMVC 相关操作工具类,快速获取当前会话的 HttpServletRequest、HttpServletResponse 对象
 */
public class SpringMVCUtil {
    
    private SpringMVCUtil() {
    }
    
    /**
     * 获取当前会话的 request 对象
     * @return request
     */
    public static HttpServletRequest getRequest() {
       ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
       if(servletRequestAttributes == null) {
          throw new NotWebContextException("非 web 上下文无法获取 HttpServletRequest").setCode(SaSpringBootErrorCode.CODE_20101);
       }
       return servletRequestAttributes.getRequest();
    }
    
    /**
     * 获取当前会话的 response 对象
     * @return response
     */
    public static HttpServletResponse getResponse() {
       ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
       if(servletRequestAttributes == null) {
          throw new NotWebContextException("非 web 上下文无法获取 HttpServletResponse").setCode(SaSpringBootErrorCode.CODE_20101);
       }
       return servletRequestAttributes.getResponse();
    }

    /**
     * 判断当前是否处于 Web 上下文中  
     * @return /
     */
    public static boolean isWeb() {
       return RequestContextHolder.getRequestAttributes() != null;
    }
    
}

标签:SpringMVCUtil,HttpServletRequest,return,ServletRequestAttributes,HttpServletResp
From: https://blog.51cto.com/u_16253752/12230827

相关文章

  • MixtralKit: 一个强大的Mixtral模型推理和评估工具包
    MixtralKitMixtralKit:探索Mixtral模型的强大工具包MixtralKit是一个专为MistralAI公司开发的Mixtral-8x7B-32KMoE模型设计的开源工具包。它为研究人员和开发者提供了一套完整的解决方案,用于探索、评估和应用这一强大的语言模型。本文将深入介绍MixtralKit的主要特性、使用方......
  • Screenpipe:革命性的AI驱动个人数据管理工具
    引言:数字时代的个人数据革命在这个信息爆炸的数字时代,我们每天都在产生海量的个人数据。从工作中的屏幕活动到日常生活中的语音交互,这些数据蕴含着巨大的价值。然而,如何有效地捕捉、管理和利用这些数据,一直是一个挑战。Screenpipe应运而生,它不仅解决了这个问题,还开创了个人数据管......
  • ChatIE: 基于ChatGPT的智能信息抽取工具
    ChatIEChatIE:开启信息抽取的新纪元在当今信息爆炸的时代,如何从海量文本中快速准确地提取关键信息成为了一个迫切需要解决的问题。传统的信息抽取方法往往需要大量的人工标注和复杂的规则设计,既耗时又费力。而随着大型语言模型的兴起,特别是ChatGPT的出现,为信息抽取任务带来......
  • Windows平台软件打包工具(inno setup)的使用
    目录Windows平台软件打包工具(innosetup)的使用innosetup中文版下载地址innosetup介绍软件特色Innosetup打包教程Windows平台软件打包工具(innosetup)的使用innosetup中文版下载地址正版下载:https://jrsoftware.org/isdl.php中文版下载:链接:https://pan.baidu.com/s/1Bwg......
  • AI工具辅助论文开题的常用小技巧
    学境思源,一键生成论文初稿:AcademicIdeas-学境思源AI论文写作AI工具在论文开题阶段可以提供多种实用的小技巧,帮助提升效率和准确性。以下是一些常用的小技巧:1.研究问题生成:  使用AI工具根据关键词自动生成研究问题或假设,帮助快速构思开题方向。例如,输入你的研究领域,A......
  • ETL过程及常用工具
    ETL概念将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础数据抽取全量抽......
  • 文件工具类 - C#小函数类推荐
          此文记录的是文件工具类。/***文件工具类AustinLiu刘恒辉ProjectManagerandSoftwareDesignerE-Mail:[email protected]:http://lzhdim.cnblogs.comDate:2024-01-1515:18:00***/namespaceLzhdim.LPF.Utility......
  • Redis可视化工具Redis Desktop Manager(附安装包)
    前言redis工具,我相信每个开发都需要,如果每次查都去client执行指令,我怕查完之后,老大就要发版咯。我之前一直用的Redis可视化工具RedisDesktopManager,总觉得差点意思,直到同事推荐了个新的,突然2眼发光!!先上链接:Redis可视化工具(含我之前用的简约版,跟同事发我的新版)RedisDes......
  • Redis工具可视化工具Redis Desktop Manager(附安装包)
    前言redis工具,我相信每个开发都需要,如果每次查都去client执行指令,我怕查完之后,老大就要发版咯。我之前一直用的Redis可视化工具RedisDesktopManager,总觉得差点意思,直到同事推荐了个新的,突然2眼发光!!先上链接:Redis可视化工具RedisDesktopManager(旧版):AnotherRedisDesktopMan......
  • 项目管理中进度管理工具——甘特图(Gantt Chart)
    这道题目考查的是关于项目管理中进度管理工具——甘特图(GanttChart)的知识点。甘特图是一种用于项目进度管理的条形图,它通过水平条形图来展示项目中各个任务的开始时间、结束时间和持续时间,以及任务之间的依赖关系。甘特图的主要特点和用途包括:任务时间线的可视化:甘特图可以清......