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

一、SpringBoot整合拦截器

1.添加拦截器

java 复制代码
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 {

    @Override
    public 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.配置拦截器

java 复制代码
@Component
public class SpringMVCConfig implements WebMvcConfigurer {

    @Autowired
    private LoginInterceptor loginInterceptor;
    //配置拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/user/**").excludePathPatterns("/user/login");
        registry.addInterceptor(loginInterceptor).addPathPatterns("/user/**").excludePathPatterns("/user/login");
    }
}

3.运用拦截器

二、SpringBoot整合日期转换器

1.添加日期转换器

java 复制代码
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
	 */
	@Override
	public 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配置文件形式针对框架进行个性化定制,例如:拦截器,类型转化器等等。

  • 代码示例

java 复制代码
@Component
public class SpringMVCConfig implements WebMvcConfigurer {
   
    //配置日期转换器
    @Override
    public void addFormatters(FormatterRegistry registry) {
        registry.addConverter(new DateConverter());
    }
}
相关推荐
kunicoding2 分钟前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全
snow@li23 分钟前
SpringBoot:核心注解全景梳理 / @xxx 叫“注解”(Annotation)
java·spring
devilnumber27 分钟前
避坑_IDEA 提取方法(Extract Method)工具
java·ide·intellij-idea
鬼手点金41 分钟前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt
小陈不好吃1 小时前
equals 与 hashCode 的契约关系:从 HashMap 到 Lombok 注解
java·hashmap·lombok
xiaogai_gai1 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
打工仔折腾 AI1 小时前
用 Dashlet 把极空间 NAS 服务入口整理成统一导航首页的实践
java·开发语言·人工智能·后端·python·rpc·ai agent 实战
Song_RsHt2 小时前
Gateway(下):过滤器与统一鉴权
spring boot·spring·gateway
小蒜学长3 小时前
微信小程序-高校自习室管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·自习室管理
鸥梨菌Honevid3 小时前
UVM 中 REQ 和 RSP 类型详解:从通信模型到 item_done 与 put_response
java·前端·servlet