JAVA-WEB资源配置
用JAVA进行编写WEB项目时,我们一般需要对WEB进行统一配置,例如制定拦截路径、页面解析器、跨域配置、fastjson报文解析、文件上传大小配置等。
@Getter
@Setter
@Configuration
public class WebConfiguration extends WebMvcConfigurationSupport {private static final String MATCH_ALL = "/**";@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new RequestIdInterceptor()).addPathPatterns(MATCH_ALL);registry.addInterceptor(new MockRequestEntityInterceptor()).addPathPatterns(MATCH_ALL);}@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/").setViewName("index");registry.setOrder(Ordered.HIGHEST_PRECEDENCE);super.addViewControllers(registry);}/** Spring mvc 的页面解析器配置*/@Beanpublic InternalResourceViewResolver viewResolver(){InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setPrefix("/");viewResolver.setSuffix(".html");return viewResolver;}/*** 跨域配置*/public CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", corsConfig());return new CorsFilter(source);}/** Spring mvc 的静态资源路径配置*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/resource/**").addResourceLocations("classpath:/static/resource/");registry.addResourceHandler("/*.html").addResourceLocations("classpath:/static/");}/** 项目序列化使用fastjson,因序列化解析器执行是列表由前至后的优先级,故把fastjson加入到序列0的位置*/@Overridepublic void extendMessageConverters(List<HttpMessageConverter<?>> converters) {converters.set(0,fastJsonHttpMessageConverter());}/** 生成FastJsonHttpMessageConverter返回值解析器*/public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();converter.setFastJsonConfig(fastJsonConfig());converter.setSupportedMediaTypes(mediaTypes());return converter;}/** 生成FastJsonHttpMessageConverter返回值解析器 - 解析详细配置*/public FastJsonConfig fastJsonConfig() {FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.WriteEnumUsingToString);// 日期时间格式及字符集配置fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");fastJsonConfig.setCharset(Charset.forName("utf-8"));// 防止Long类型转json丢失精度的问题SerializeConfig serializeConfig = SerializeConfig.globalInstance;serializeConfig.put(Long.class, ToStringSerializer.instance);serializeConfig.put(Long.TYPE, ToStringSerializer.instance);fastJsonConfig.setSerializeConfig(serializeConfig);return fastJsonConfig;}/** 生成FastJsonHttpMessageConverter返回值解析器 - 解析格式组件 支持的mediaType的类型* 1.application/json;charset=UTF-8* 2.application/json*/public List<MediaType> mediaTypes() {List<MediaType> mediaTypeList = new ArrayList<>();mediaTypeList.add(MediaType.APPLICATION_JSON_UTF8);mediaTypeList.add(MediaType.APPLICATION_JSON);return mediaTypeList;}@Beanpublic CommonsMultipartResolver multipartResolver() {CommonsMultipartResolver resolver = new CommonsMultipartResolver();resolver.setDefaultEncoding("UTF-8");//resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常resolver.setResolveLazily(true);resolver.setMaxInMemorySize(40960);//上传文件大小 5M 5*1024*1024resolver.setMaxUploadSize(5 * 1024 * 1024);return resolver;}private CorsConfiguration corsConfig() {CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.addAllowedOrigin("*");corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedMethod("*");corsConfiguration.setAllowCredentials(true);corsConfiguration.setMaxAge(3600L);return corsConfiguration;}
}
相关文章:
JAVA-WEB资源配置
用JAVA进行编写WEB项目时,我们一般需要对WEB进行统一配置,例如制定拦截路径、页面解析器、跨域配置、fastjson报文解析、文件上传大小配置等。 Getter Setter Configuration public class WebConfiguration extends WebMvcConfigurationSupport {priva…...
分享一个基于微信小程序的宠物服务中心的设计与实现(源码、调试、LW、开题、PPT)
💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…...
时空自回归模型(STAR)及 Stata 具体操作步骤
目录 一、引言 二、文献综述 三、理论原理 四、实证模型 五、稳健性检验 六、程序代码及解释 附录 数据预处理 生成时空权重矩阵 一、引言 时空自回归模型(Spatial-Temporal Autoregressive Model,简称 STAR)在分析具有时空特征的数…...
SpringCloud集成XXL-JOB定时任务
项目场景: XXL-JOB是一个分布式任务调度平台,它能够帮助开发者轻松地实现任务的定时执行、任务调度和任务管理 接入步骤 下载XXL-JOB压缩包 链接: xxl-job XXL-JOB做为子模块 将压缩包解压,项目二级新建目录xxl-job,放入目录…...
《财经网》揭秘格行销量第一的秘籍!年销百万台,获千万级网红推荐!
随身WiFi已成为当下网红爆款神器,却为何频频陷入用户信任的危机?低价诱惑背后的限速陷阱、流量虚标,市场看似繁华,实则暗藏玄机。然而,就在这片混沌与质疑交织的迷雾中,一个品牌悄然崛起,以惊人…...
Java 中 Integer 类的比较行为
在 Java 中,Integer 类的比较行为有其特定的规则,这些规则涉及到缓存和对象比较。让我们分析一下你提供的代码: java public class test2_4 { public static void main(String[] args){Integer a 100;Integer b 100;Integer c 1000;Int…...
C# 通过反射(Reflection)调用不同名泛型方法
在C#中,通过反射调用泛型方法时,如果方法的名称或参数类型有所不同,那么你需要根据具体的情况来构造合适的MethodInfo对象。由于你提到的是调用“不同名”的泛型方法,这意味着你需要首先确定具体要调用的方法名,然后再…...
Spring Boot整合Drools入门:实现订单积分规则
文章目录 项目结构Maven配置配置Drools订单实体类订单积分规则测试规则总结 在开发过程中,我们经常遇到需要根据业务规则来进行决策的场景。比如,电商平台可能需要根据订单金额为用户添加相应的积分。为了灵活地处理这些业务规则,我们可以借助…...
【C语言】文件操作函数详解
目录 C语言文件操作函数详解表格汇总1. fopen2. fclose3. fread4. fwrite5. fseek6. ftell7. rewind8. fprintf9. fscanf10. feof11. ferror12. clearerr13. 总结14. 附录:函数参考表15. 结束语相关文章: C语言文件操作函数详解 C语言提供了一组标准库函…...
Java 垃圾回收,看一遍就懂
了解 Java 垃圾收集的工作原理并优化应用程序中的内存使用情况。详细了解 Java 中内存管理的复杂性。 垃圾收集是一个关键过程,可以帮助任何Java 开发公司。编程语言中的这一强大功能可以巧妙地管理内存分配和释放,防止内存泄漏并优化资源利用率。它就像…...
手把手教你CNVD漏洞挖掘 + 资产收集
0x1 前言 挖掘CNVD漏洞有时候其实比一般的edusrc还好挖,但是一般要挖证书的话,还是需要花时间的,其中信息收集,公司资产确定等操作需要花费一定时间的。下面就记录下我之前跟一个师傅学习的一个垂直越权成功的CNVD漏洞通杀&#…...
华为云低代码AstroZero技巧教学1:表格的超链接赋能
在低代码AstroZero的标准页面设计和构建上,我们总是在思考如何让用户体验能够更加流畅。 为此,我们特推出低代码AstroZero技巧教学系列合集,让各位开发者能够更加方便快捷地掌握低代码AstroZero的操作技巧。 本次技巧内容: 在As…...
https握手过程详解
https握手过程详解 上一篇《HTTPS通讯全过程》中https握手过程实际上还有更多的细节,为什么会这样设计呢?是因为一开始将握手过程时,吧步骤说的太详细会导致更难理解惹。所以我就先在上一篇把部分细节忽略,把原来几步的过程先简化…...
Lesson 63 Thank you, doctor
Lesson 63 Thank you, doctor 词汇 better a. 更好的 搭配:feel better get better 感觉好些了 成语:Better late than never. 晚做总比不做好。 Half a loaf is better than no bread. 有比没有好。…...
使用python和matlab实现BP神经网络算法的分析比较
分析和比较使用Python和MATLAB实现BP神经网络算法实现的复杂度、代码可读性、库支持、性能以及应用的灵活性等。 1. BP神经网络的基本原理 BP神经网络(Back Propagation Neural Network)是一种多层前馈神经网络,通过反向传播算法来训练网络。其基本思想是利用梯度下降法,…...
智慧卫生间环境传感器有哪些?智慧卫生间的特点@卓振思众
随着科技的进步和人们对生活品质的要求不断提高,智慧卫生间作为现代化设施的代表,越来越受到关注。智慧卫生间不仅仅是在外观设计上做文章,更在于其背后强大的智能系统,特别是环境传感器的应用,让厕所的管理和使用变得…...
智能分班结果自动发布系统
新学期,校园里又将迎来一批充满活力的新生。对于老师们来说,除了准备教学计划和课程内容,还有一项看似简单却颇为繁琐的任务——发布分班。传统的分班信息发布方式,通常是老师们一个个私信给学生家长,家长们收到信息后…...
vue 后台管理 指定项目别名
越多越好 文章目录 一、指定项目路径别名二、全局loading进度条实现三、动态页面标题的实现四、全局刷新 和 全屏 一、指定项目路径别名 在 vite.config.js 里配置 import path from "path"export default defineConfig({resolve:{alias:{"~":path.resol…...
【Python机器学习】FP-growth算法——构建FP树
在第二次扫描数据集时会构建一棵FP树。为构建一棵树,需要一个容器来保存树。 创建FP树的数据结构 FP树要比书中其他树更加复杂,因此需要创建一个类来保存树的每一个节点: class treeNode:def __init__(self,nameValue,numOccur,parentNode…...
JAVA itextpdf 段落自动分页指定固定行距打印
JAVA itextpdf 段落自动分页指定固定行距打印 前言:公司有个需求,打印的合同模板左上角要加上logo的图标。但是itext pdf 自动分页会按照默认的顶部高分页打印内容的,导致从第二页开始logo图标就会把合同的内容给覆盖掉了。然后尝试了挺多方法…...
微信云托管部署Spring Boot后端实战:从Dockerfile编写到公网访问(避坑MySQL/Redis配置)
微信云托管部署Spring Boot后端实战:从Dockerfile编写到公网访问(避坑MySQL/Redis配置) 在当今前后端分离架构盛行的时代,后端服务的稳定部署成为项目成功的关键一环。微信云托管作为腾讯云推出的容器化托管平台,为开…...
【STM32F407VET6开发】第二章 Keil 5环境配置与Pack Installer实战指南
1. Keil 5环境配置全流程解析 第一次接触STM32开发的朋友,安装完Keil 5后往往会遇到各种环境配置问题。我当年用STM32F407VET6做第一个项目时,光是让开发环境跑起来就折腾了两天。现在回头看,其实只要掌握几个关键步骤,整个过程可…...
从1997年的论文到2024年的实践:聊聊LEO卫星网络里那个‘过时’但依然有用的DT-DVTR算法
从1997年的论文到2024年的实践:LEO卫星网络里那个‘过时’但依然有用的DT-DVTR算法 在星链(Starlink)和OneWeb掀起全球卫星互联网热潮的今天,回望1997年Markus Werner那篇开创性的论文,会惊讶地发现:现代低…...
Screencast-Keys故障速查:按键显示功能的3大场景化一站式实战解决方案
Screencast-Keys故障速查:按键显示功能的3大场景化一站式实战解决方案 【免费下载链接】Screencast-Keys Blender Add-on: Screencast Keys 项目地址: https://gitcode.com/gh_mirrors/sc/Screencast-Keys Screencast-Keys是Blender的一款实用插件࿰…...
WeChatExporter终极指南:如何完整备份微信聊天记录并永久保存珍贵回忆
WeChatExporter终极指南:如何完整备份微信聊天记录并永久保存珍贵回忆 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 微信聊天记录导出工具WeChatExporter是…...
CyberChef终极指南:浏览器内的免费网络安全瑞士军刀
CyberChef终极指南:浏览器内的免费网络安全瑞士军刀 【免费下载链接】CyberChef CyberChef: 是一个开源的在线工具,可以帮助安全分析师自动化处理和分析网络安全相关的任务,如数据加密、压缩和混淆等。适合安全分析师和网络工程师使用 CyberC…...
使用Pi0具身智能开发教育机器人的完整指南
使用Pi0具身智能开发教育机器人的完整指南 1. 引言 教育领域正在经历一场智能化变革,传统的教学模式已经难以满足个性化学习的需求。想象一下,一个能够理解学生情绪、提供个性化辅导、并且24小时在线的教育助手——这就是教育机器人带来的可能性。 Pi…...
HoRain云--NumPy数据类型全解析:高效计算的关键
🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…...
Lychee Rerank多模态系统在社交媒体分析中的实践
Lychee Rerank多模态系统在社交媒体分析中的实践 1. 引言 社交媒体每天产生海量的图文内容,从用户发布的照片到配文,从短视频到评论互动,这些多模态数据蕴含着丰富的用户行为和兴趣信息。但如何从这些杂乱无章的数据中精准提取有价值的信息…...
文墨共鸣大模型安装包依赖分析与环境冲突解决
文墨共鸣大模型安装包依赖分析与环境冲突解决 你是不是也遇到过这种情况:拿到一个项目,兴冲冲地运行 pip install -r requirements.txt,结果屏幕上开始疯狂报错,各种版本不兼容、找不到模块、编译失败的信息轮番轰炸。折腾了几个…...
