SpringBoot整合拦截器和日期转换器

一、SpringBoot整合拦截器

1.添加拦截器

package com.by.interceptor;import com.by.pojo.User;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@Component
public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object user = request.getSession().getAttribute("user");if(user!=null){return true;}response.sendRedirect("/");return false;}
}

2.配置拦截器

@Component
public class SpringMVCConfig implements WebMvcConfigurer {@Autowiredprivate LoginInterceptor loginInterceptor;//配置拦截器@Overridepublic void addInterceptors(InterceptorRegistry registry) {//registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/user/**").excludePathPatterns("/user/login");registry.addInterceptor(loginInterceptor).addPathPatterns("/user/**").excludePathPatterns("/user/login");}
}

3.运用拦截器

二、SpringBoot整合日期转换器

1.添加日期转换器

package com.by.converter;import java.text.ParseException;
import java.util.Date;import org.springframework.core.convert.converter.Converter;
import org.apache.commons.lang3.time.DateUtils;public class DateConverter implements Converter<String, Date>{/*** 配置日期转换器* @param str* @return*/@Overridepublic Date convert(String str) {try {String[] patterns = new String[]{"yyyy-MM-dd","yyyy-MM-dd hh:mm:ss","yyyy/MM/dd","yyyy/MM/dd hh:mm:ss","MM-dd-yyyy","dd-MM-yyyy"};return DateUtils.parseDate(str, patterns);} catch (ParseException e) {e.printStackTrace();}return null;}
}

2.配置日期转换器

  • 说明

    WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式针对框架进行个性化定制,例如:拦截器,类型转化器等等。

  • 代码示例


@Component
public class SpringMVCConfig implements WebMvcConfigurer {//配置日期转换器@Overridepublic void addFormatters(FormatterRegistry registry) {registry.addConverter(new DateConverter());}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/35767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂充电桩平台如何实现分账:汇付是如何实现分账的

汇付实现分账的方式是通过多方分账功能和延时分账模式&#xff0c;结合接口与控台操作来实现灵活的资金分配和高效结算。 【慧哥开源充电桩平台】下载源码地址 https://liwenhui.blog.csdn.net/article/details/134773779?spm1001.2014.3001.5502 在当前支付环境中&#xff0c…

【ARM】内存属性Memory Attributes (MemAttr)

目录 1. EWA 2. Device 3. Cacheable 4. Allocate 5. 内存属性的传播 6. 事务属性组合 7. Memory Type 内存属性Memory Attributes (MemAttr) 包含Early Write Acknowledgment (EWA), Device, Cacheable, 以及Allocate。 1. EWA EWA&#xff0c;Early Write Acknowledg…

AI自动生成角色和情节连续的漫画,中山大学联想提出AutoStudio,可以多轮交互式连续生成并保持主题一致性。

中山大学和联想研究院提出AutoStudio: 是一种无需训练的多代理框架&#xff0c;用于多轮交互式图像生成&#xff0c;能够在生成多样化图像的同时保持主体一致性。 AutoStudio 采用三个基于 LLM 的智能体来解释人类意图并为 SD 模型生成适当的布局指导。此外&#xff0c;还引入…

微软代码页标识符 (Code Page Identifiers)

代码页标识符 (Code Page Identifiers) 双语对照 Identifiere标识符.NET Name.NET 名称Additional information其他信息037IBM037IBM EBCDIC US-CanadaIBM EBCDIC US-Canada437IBM437OEM United StatesOEM 美国500IBM500IBM EBCDIC InternationalIBM EBCDIC 国际字符集708ASMO…

让AI保持怪异

让AI保持怪异 Anthropic的创意技术专家和员工设计师凯尔图尔曼(Kyle Turman)分享了一种深深引起共鸣的观点。他说(转述原话):“人工智能实际上真的很奇怪&#xff0c;我认为人们对这一点的认识还不够。”这引发了我向小组提出的问题:我们是否有消毒人工智能固有的陌生感的风险?…

python-序列相关

序列&#xff08;squence&#xff09;是一组按顺序、紧密排列在一起的数据集。序列的作用是便于管理、方便数据操作更重要的是序列支持切片操作。 序列主要包括&#xff1a;列表、元组、字符串和字节串 内置数据结构&#xff1a; 容器&#xff1a;列表、元组、字典、集合 结构…

Chromium 调试指南2024 Mac篇 - 准备工作 (一)

1.引言 Chromium是一个由Google主导开发的开源浏览器项目&#xff0c;它为Google Chrome浏览器提供了基础框架。Chromium不仅是研究和开发现代浏览器技术的重要平台&#xff0c;还为众多其他基于Chromium的浏览器&#xff08;如Microsoft Edge、Brave等&#xff09;提供了基础…

atcoder abc 359

A count takahashi 问题: 思路&#xff1a;字符串比较 代码&#xff1a; #include <bits/stdc.h>using namespace std;int main() {int n;cin >> n;int ans 0;for(int i 1; i < n; i ) {string s;cin >> s;if(s[0] T) ans ;}cout << ans;re…

命令ifconfig-显示网络接口的当前状态

ifconfig是一个在类Unix系统中用于配置网络接口的命令行工具。它可以用来显示网络接口的当前状态&#xff0c;或者设置网络接口的参数&#xff0c;如IP地址、子网掩码、MAC地址等。 基本用法 显示所有网络接口的信息&#xff1a; ifconfig显示特定网络接口的信息&#xff1a…

Android 多媒体开发——Media3与MediaSession最全使用指南

一、Media3库简介 1.1 Media3是什么&#xff1f; 官方释义&#xff1a; Jetpack Media3 is the new home for media libraries that enables Android apps to display rich audio and visual experiences. Media3 offers a simple architecture with powerful customization,…

软考出成绩了,速查,查分方式看这里

各位考生&#xff0c;软考出成绩啦&#xff01;大家赶紧查一下&#xff0c;各科都45分就是通过&#xff01; 软考成绩查询入口已开通&#xff0c;此刻你是不是既激动又忐忑&#xff1f;速查&#xff01; ★ 查询网站 中国计算机技术职业资格网https://bm.ruankao.org.cn/sign/…

如何轻松获取 GitLab 指定分支特定路径下的文件夹内容

第一步&#xff1a; 获取 accessToken 及你的 项目 id &#xff1a; 获取 accessToken ,点击用户头像进入setting 按图示操作&#xff0c;第 3 步 填写你发起请求的域名。 获取项目 id , 简单粗暴方案 进入 你项目仓库页面后 直接 源码搜索 project_id&#xff0c; value 就…

记录Gstreamer的uridecodebin可以自动选择硬解码器

记录&#xff1a; uridecodebin3 和uridecodebin优先硬解码 这两个插件&#xff0c;本来是负责动态选择合适的解码器来处理特定的媒体流&#xff0c;使用案例&#xff1a; gst-launch-1.0 uridecodebin urirtsp://192.168.1.120:8554/test ! glimagesink -v gst-launch-1.0 …

Linux通用LInux高危漏洞(CVE-2024-1086)修复案例

一、漏洞描述 2024年3月28日&#xff0c;监 Linux kernel权限提升漏洞&#xff08;CVE-2024-1086&#xff09;的PoC/EXP在互联网上公开&#xff0c;该漏洞的CVSS评分为7.8&#xff0c;目前漏洞细节已经公开披露&#xff0c;美国网络安全与基础设施安全局&#xff08;CISA&…

Java高手的30k之路|面试宝典|精通项目介绍方法优化简历项目介绍

常用项目介绍结构及原因 以下是几个常用的项目介绍结构&#xff0c;以及为什么使用这些结构的原因&#xff1a; 1. STAR 方法 Situation&#xff08;情境&#xff09;&#xff1a;项目的背景和情况。 Task&#xff08;任务&#xff09;&#xff1a;你需要完成的任务。 Actio…

每天一学(2)

目录 1、线程池是如何知道线程任务是否完成 2、阻塞队列的有界和无界 3、ConcurrentHashMap底层实现原理 5、CAS机制 6、wait 和 notify 为什么要放在 synchronized 1、线程池是如何知道线程任务是否完成 线程池内部&#xff1a; 当把任务丢给线程池去执行&#xff0c;调度工作…

【UE5.3】笔记4-自定义材质蓝图

正常来说&#xff0c;我们都是拿到什么材质用什么材质&#xff0c;那么我们如何去创建自定义的材质呢&#xff1f; 首先&#xff0c;创建MyMaterials文件夹用来存放我们自制的材质&#xff1b; 然后&#xff0c;右键创建一个材质&#xff0c;起个名字&#xff0c;双击打开&am…

Linux-笔记 全志平台休眠功能初探

前言 全志平台支持的休眠功能主要包括两种模式&#xff1a;休眠模式和待机模式。这两种模式用于降低设备的功耗&#xff0c;并在需要时快速恢复工作状态。由于平台为T113&#xff0c;所以可以很方便的使用RTC来做唤醒源。唤醒源指的是能够让系统从休眠状态恢复到工作状态的信号…

必看-OpenStack面试攻略:揭秘企业最爱问的几个问题

问题&#xff1a;什么是OpenStack&#xff1f; 答案&#xff1a;OpenStack是一系列开源软件组成的云供给软件&#xff0c;用于构建和管理云计算平台。它允许企业或组织在自己的硬件上建立和管理云基础设施&#xff0c;并提供类似于公有云的弹性可扩展资源。 问题&#xff1a;O…

【Linux】Linux基础开发工具(yum)

Linux 软件包管理器 yum 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便…