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

解决拦截器抛出异常处理类的500状态码Html默认格式响应 !

解决方式

<mvc:annotation-driven><mvc:message-converters><!-- 配置JSON消息转换器 --><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="supportedMediaTypes"><list><value>application/json;charset=UTF-8</value></list></property></bean></mvc:message-converters></mvc:annotation-driven>

将Java对象转换为JSON格式的响应,使用spring-mvc.xml配置适当的消息转换器。

问题出处的相关类如下

interceptor如下

package com.ekgc.interceptor;import com.ekgc.exception.UnLoginException;
import com.ekgc.pojo.SysUser;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;/*** 登录拦截器* 1.实现 HandlerInterceptor接口* 2.实现接口方法* 3.在springmvc.xml中配置拦截器* @author Magic* @version 1.0*/
public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("preHandle...");// 记录请求处理开始时间request.setAttribute("startTime", System.currentTimeMillis());// 检查用户是否已经登录if (!isLoggedIn(request)) {//抛出未登录异常throw new UnLoginException("您还没有登录!!!");}return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("postHandle...");// 计算请求处理时间long startTime = (long) request.getAttribute("startTime");long endTime = System.currentTimeMillis();long executionTime = endTime - startTime;System.out.println("Request execution time: " + executionTime + " ms");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("afterCompletion...");}private boolean isLoggedIn(HttpServletRequest request) {// 检查用户是否已登录的逻辑HttpSession session = request.getSession();SysUser user = (SysUser) session.getAttribute("user");// 返回true表示已登录,false表示未登录if (user == null) {return false;}return true;}
}

 自定义异常类

package com.ekgc.exception;/*** @author Magic* @version 1.0*/
public class UnLoginException extends RuntimeException{public UnLoginException(String message) {super(message);}
}

 异常处理类

package com.ekgc.exception;import com.ekgc.response.RespBody;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;/*** 登录异常处理类* @author Magic* @version 1.0*/
@ControllerAdvice
public class LoginExceptionHandler {@ExceptionHandler(UnLoginException.class)@ResponseBodypublic RespBody<String> loginExceptionHandler(UnLoginException e) {String message = e.getMessage();System.out.println(message);return new RespBody<String>(-1,message,message);}
}

相关文章:

解决拦截器抛出异常处理类的500状态码Html默认格式响应 !

解决方式 <mvc:annotation-driven><mvc:message-converters><!-- 配置JSON消息转换器 --><bean class"org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name"supportedMediaTypes"&…...

搭建PyTorch神经网络进行气温预测

import numpy as np import pandas as pd import matplotlib.pyplot as plt import torch import torch.optim as optim import warnings warnings.filterwarnings("ignore") %matplotlib inline features pd.read_csv(temps.csv)#看看数据长什么样子 features.he…...

Qt Creato配置PCL库

Qt Creator中使用PCL库_业务不精er的博客-CSDN博客 Qt6.1.0中配置pcl1.11.1_qt6导入pcl库_朽一的博客-CSDN博客 VS2017 中配置QTPCL显示点云或3D图形_pcl显示3d图tiff_桂林巡山的博客-CSDN博客 Windows10下QTVTKPCL环境配置&#xff08;一次成功&#xff09;_qt pcl_v俊逸的…...

从阿里到字节跳动,这3年外包做完,我这人生算是彻底废了......

​我为什么一直做外包呢&#xff0c;原因是薪资和技术方面。 在阿里做了一年外包&#xff0c;薪资5k&#xff0c;功能测试&#xff0c;接触Linux和网络&#xff0c;但是说实在的技术很难沉淀&#xff0c;就像雾里看花一样&#xff0c;过年之后&#xff0c;想走的人都走了&…...

在汽车行业中如何脱颖而出?使用聊天机器人是关键

汽车行业正在经历一场非凡的技术革命&#xff0c;尖端技术重塑了其本质。汽车中的聊天机器人能作为一种改变游戏规则的技术脱颖而出&#xff0c;推动企业与客户互动甚至吸引新客户的方式的进步。例如SaleSmartly&#xff08;SS客服&#xff09;就是一个很优秀的聊天机器人平台。…...

Go语言最全面试题,拿offer全靠它,附带免积分下载pdf

面试题文档下链接点击这里免积分下载 go语言入门到精通点击这里免积分下载 文章目录 Go 基础类GO 语言当中 NEW 和 MAKE 有什么区别吗&#xff1f;PRINTF(),SPRINTF(),FPRINTF() 都是格式化输出&#xff0c;有什么不同&#xff1f;GO 语言当中数组和切片的区别是什么&#xf…...

虚拟机Linux20.04磁盘扩展

扩展之前必须要确保&#xff01;没有快照&#xff01; ps:先把快照删掉&#xff0c;如果担心弄坏的话可以先克隆一个 如果不删的话就会跟下面一样无法点击扩展&#xff1a; 删除了快照之后就可以点击这个【扩展】&#xff0c;输入你要的磁盘大小即可。 &#xff08;我这里原…...

类欧几里得算法

求 ∑ i 0 n ⌊ a i b c ⌋ \sum\limits_{i0}^{n}\lfloor \frac{aib}{c} \rfloor i0∑n​⌊caib​⌋ 推式子步骤&#xff1a; 分类讨论 a 0 a0 a0 是个最简式子 b ≥ c b\ge c b≥c 或 a ≥ c a\ge c a≥c 由 f ( a m o d c , b m o d c , c , n ) f(a\bmod c,b\bmod…...

c++读取和存储文件,对文件操作

#include<bits/stdc.h> using namespace std; int aa[100];//全局变量数组&#xff0c;用来接收我们从文件中读取的数据。 void zhuanhua(string a){//这个函数的作用是转化我们读取的数字&#xff0c;由于我们读取文件时//是按行读取&#xff0c;就是一下读取一行&…...

InfluxDB API -- InfluxDB笔记四

1.调试工具的安装 ApiPost (类似Postman) 2.InfluxDB v2 API 地址 官方地址: InfluxDB v2 API | InfluxDB OSS 2.7 Documentation 本地文档地址&#xff1a;host1:8086/docs 3.token认证 在web UI 的Load Data -> API Tokens里面可以复制&#xff0c;这个页面也可以创…...

数据结构 - 单链表

文章目录 目录 文章目录 一、什么是链表? 线性表: 顺序表: 二、链表的分类和实现 分类: 实现: 1.创建节点类 2.创建单链表 1.addTail(尾增) 2.删除节点值为key的第一个节点 3.插入节点(在指定位置) 4.获取链表长度 总结 前言 大家好,这篇博客给大家讲一下什么是…...

化繁为简 面板式空调网关亮相上海智能家居展 智哪儿专访青岛中弘赵哲海

面对中央空调协议不开放和智能家居协议不统一的问题&#xff0c;青岛中弘选择中央空调控制器这一细分赛道入局智能家居市场&#xff0c;始终贯彻“所有空调&#xff0c;一个网关”的产品技术理念&#xff0c;逐渐探索出一条中弘的发展路径和商业模式。 在2023年的SSHT上海国际智…...

4G版本云音响设置教程阿里云平台版本

4G版本云音响设置教程介绍 第一章 介绍了在阿里云物联网平台生一个设备使用的三元素 第二章 转换阿里云三元素 为MQTT参数&#xff0c;并下载到设备中 第三章 阿里云物联网套件协议使用说明&#xff0c;如何发送数据至设备并播放 本文目录引导 目录 4G版本云音响设置教程介…...

STM32纯中断方式发送接收数据(串行通信;keil arm5;)

除了main文件其他文件均无修改&#xff0c;正常运行--在keil arm5内...

FPGA时序分析与约束(3)——时钟不确定性

一、前言 在之前的文章中&#xff0c;我们介绍了组合电路的时序和时序电路的时序问题&#xff0c;在阅读本文章之前&#xff0c;强烈推荐先阅读完本系列之前的文章&#xff0c;因为这是我们继续学习的理论的理论基础&#xff0c;前文链接&#xff1a; FPGA时序分析与约束&…...

【Java-HDFS】使用Java操作HDFS获取HDFS指定目录下的数据量大小

Maven依赖 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId>…...

协议定制 + Json序列化反序列化

文章目录 协议定制 Json序列化反序列化1. 再谈 "协议"1.1 结构化数据1.2 序列化和反序列化 2. 网络版计算器2.1 服务端2.2 协议定制(1) 网络发送和读取的正确理解(2) 协议定制的问题 2.3 客户端2.4 代码 3. Json实现序列化反序列化3.1 简单介绍3.2 使用 协议定制 J…...

系统架构设计师(第二版)学习笔记----系统架构概述

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----系统架构概述 文章目录 一、系统架构的定义与发展历程1.1 架构的定义1.2 架构设计的作用1.3 架构设计产生的背景1.4 软件架构的发展历程1.5 模块化开发方法1.6 模块法方法分解模块遵循的原则1.7 软件工程…...

FPGA基本算术运算

FPGA基本算术运算 FPGA基本算术运算1 有符号数与无符号数2 浮点数及定点数I、定点数的加减法II、定点数的乘除法 3 仿真验证i、加减法验证ii、乘除法验证 FPGA基本算术运算 FPGA相对于MCU有并行计算、算法效率较高等优势&#xff0c;但同样由于没有成型的FPU等MCU内含的浮点数运…...

Linux Input子系统

一、基本概念 按键、鼠标、键盘、触摸屏等都属于输入(input)设备&#xff0c;Linux 内核为此专门做了一个叫做 input子系统的框架来处理输入事件。本质属于字符设备。 1. input子系统结构如下&#xff1a; input 子系统分为 input 驱动层、input 核心层、input 事件处理层&…...

CircuitPython嵌入式游戏开发:基于TileGrid的迷宫寻蛋与JSON数据持久化实践

1. 项目概述与核心价值如果你和我一样&#xff0c;对嵌入式开发充满热情&#xff0c;同时又对游戏开发抱有好奇心&#xff0c;那么将两者结合——在微控制器上编写一个完整的2D游戏——绝对是一次令人兴奋的挑战。这不仅仅是让LED闪烁或读取传感器数据&#xff0c;而是要在资源…...

基于PyPortal与CircuitPython的物联网游戏数据显示器开发实战

1. 项目概述 如果你和我一样&#xff0c;既是《英雄联盟》的忠实玩家&#xff0c;又对嵌入式硬件开发充满热情&#xff0c;那么把这两者结合起来&#xff0c;做一个能实时展示自己召唤师等级的“实体奖杯”&#xff0c;绝对是一件既酷又有成就感的事情。这个项目就是基于Adafr…...

基于Taotoken统一API开发支持多模型切换的智能对话应用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 基于Taotoken统一API开发支持多模型切换的智能对话应用 应用场景类&#xff0c;场景是开发一个需要支持用户自由选择或系统自动切换…...

AI智能体任务控制中心:构建可管理复杂项目的协作框架

1. 项目概述&#xff1a;为智能体装上“任务控制中心” 最近在折腾AI智能体&#xff08;Agent&#xff09;开发的朋友&#xff0c;可能都遇到过这样的场景&#xff1a;你精心设计了一个能联网搜索、处理文档、调用API的智能体&#xff0c;它单次任务的表现堪称完美。但当你试图…...

成本优化策略:降低云资源支出

成本优化策略&#xff1a;降低云资源支出 一、成本优化策略概述 1.1 成本优化策略的定义 成本优化策略是指通过各种技术和管理手段&#xff0c;降低云资源支出的策略和方法。它包括资源优化、成本监控、预算管理和采购策略等方面。 1.2 成本优化策略的价值 成本降低&#xff1a…...

从零打造开源机械爪:低成本机器人抓取方案全解析

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“OpenClawTuto”。光看这个名字&#xff0c;你可能会有点摸不着头脑&#xff0c;它不像“XX管理系统”或者“XX深度学习框架”那样一目了然。但作为一个在开源社区和自动化领域摸爬滚打了十来年的老手…...

Flutter桌面端窗口控制:从隐藏标题栏到自定义全屏交互

1. 为什么需要自定义窗口控制&#xff1f; 当你用Flutter开发Windows桌面应用时&#xff0c;系统默认的标题栏和窗口样式往往显得格格不入。想象一下&#xff0c;你精心设计了一套深色主题的UI&#xff0c;结果顶部突然冒出一条灰白色的标准标题栏——就像给西装革履的绅士戴了…...

DIY智能电机推子:从闭环控制到MIDI交互的硬件实战

1. 项目概述与核心价值如果你玩过专业的音频混音台&#xff0c;或者在一些高端的灯光控制台上见过那种会自己“嗖”一下滑到指定位置的推子&#xff0c;那你一定对电机推子&#xff08;Motorized Fader&#xff09;不陌生。这东西的魅力在于&#xff0c;它既是精准的模拟输入设…...

子高斯随机变量与深度学习异常检测原理

1. 子高斯随机变量基础解析子高斯随机变量是概率论中一类具有特殊尾部性质的分布。简单来说&#xff0c;一个随机变量X如果满足存在常数σ>0&#xff0c;使得对于所有λ∈R都有E[exp(λX)] ≤ exp(λσ/2)&#xff0c;那么我们就称X是σ-子高斯的。这类分布的关键特征是它们…...

奥里亚语语音合成准确率骤降?揭秘ElevenLabs最新v4.2模型在Odisha方言中的5大发音偏差与3步校准法

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;奥里亚语语音合成准确率骤降现象全景透视 近期多个基于深度学习的奥里亚语&#xff08;Odia&#xff09;TTS系统在部署后出现显著性能退化&#xff1a;词级发音准确率从92.4%骤降至73.1%&#xff0c;尤…...