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

Springboot对MVC、tomcat扩展配置

Springboot在web层的开发基本都是采用Springmvc框架技术,但是Springmvc中的某些配置在boot是没有的,我们就应该根据自己的需求进行对mvc扩展配置

Springboot1.x版本如何配置


通过注解@Configuration一个类,继承webmvcconfigureradapter,然后根据需求实现里面的方法。

Springboot2.x版本如何配置

通过实现webmvcconfigure接口的方式

上面boot对mvc的扩展配置既保留了mvc的默认配置,也可以使用我们扩展的配置。如何全面接管mvc的配置,所以的webmvc都由我们自己配置?只需要加上注解EnableWebMvc

扩展配置使用举例,如配置拦截器

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 自定义一个登陆拦截器*/
@Configuration //声明这是一个配置
public class LoginInterceptor extends WebMvcConfigurerAdapter {/*用来添加拦截器的方法InterceptorRegistry registry拦截器注册*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {//使用匿名内部类创建要给拦截器HandlerInterceptor loginInterceptor = new HandlerInterceptor() {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {//判断session中是否存在用户if (request.getSession().getAttribute("user") == null) {response.sendRedirect("/admin");return false;}return true;}@Overridepublic void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {}@Overridepublic void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {}};registry.addInterceptor(loginInterceptor).addPathPatterns("/admin/**").excludePathPatterns("/admin").excludePathPatterns("/admin/login");}
}

tomcat配置


Springboot默认使用的就是嵌入式servlet容器即tomcat,对于web项目,如果使用的是外部tomcat,相关配置比如访问端口、资源路径等可以在tomcat的conf文件下配置。但是在boot中,tomcat配置又两种方式

第一种:通过配置文件直接配置(推荐)
 

#如果是tomcat相关的设置用server.tomcat.xx
server.tomcat.uri-encoding=UTF-8
#如果是servlet相关的配置用server.xx
server.port=80

 第二种:通过配置类的方式

相关文章:

Springboot对MVC、tomcat扩展配置

Springboot在web层的开发基本都是采用Springmvc框架技术,但是Springmvc中的某些配置在boot是没有的,我们就应该根据自己的需求进行对mvc扩展配置 Springboot1.x版本如何配置 通过注解Configuration一个类,继承webmvcconfigureradapter&#…...

网络子网划分练习

网络子网划分练习 1.背景: 在一个仓储企业网络拓朴结构如图1-所示,该企业占地500亩。有五层办公楼1栋,大型仓库10栋。每栋仓库内、外部配置视频监控16台,共计安装视频监控160台,Switch A、服务器、防火墙、管理机、Rou…...

Leetcode刷题笔记--Hot51-60

1--环形链表II 主要思路: 快慢指针,快指针每次走两步,慢指针每次走一步; 第一次相遇时,假设慢指针共走了 f 步,则快指针走了 2f 步; 假设起点到环入口结点的长度为 a(不包括入口结点…...

广告牌安全监测系统,用科技护航大型广告牌安全

城市的街头巷尾,处处可见高耸的广告牌,它们以各种形式和颜色吸引着行人的目光。然而,作为城市景观的一部分,广告牌的安全性常常被我们所忽视。广告牌量大面大,由于设计、材料、施工方法的缺陷,加上后期的检…...

volatile

什么是volatile volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更…...

JAVA:实现Excel和PDF上下标

1、简介 最近项目需要实现26个小写字母的上下标功能,自己去网上找了所有Unicode的上下标形式,缺少一些关键字母,顾后面考虑自己创建上下标字体样式,以此来记录。 2、Excel Excel本身是支持上下标,我们可以通过Excel单元格的样式来设置当前字体上下标,因使用的是POI的m…...

AI写稿软件,最新的AI写稿软件有哪些

写作已经成为各行各业无法绕开的重要环节。不论是企业的广告宣传、新闻媒体的报道、还是个人自媒体的内容创作,文字都扮演着不可或缺的角色。随着信息的爆炸式增长,写作的需求也不断攀升,这使得许多人感到困扰。时间不够用、创意枯竭、写作技…...

干货:数据仓库基础知识(全)

1、什么是数据仓库? 权威定义:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 1)数据仓库是用于支持决策、面向分析型数据处理; 2)对多个异构的数据源有效集…...

二分搜索简介

概念: 二分搜索算法(Binary Search)是一种高效的搜索算法,用于在有序数组中查找特定元素的位置。它的基本思想是将数组分为两部分,通过比较目标值与数组中间元素的大小关系,确定目标值可能存在的区间&…...

虚拟车衣VR云展厅平台扩大了展览的触达范围

传统展厅主要是以静态陈列的形式来传达内容,主要的展示形式有图片、视频等,具有一定的局限性,体验感较差,客户往往不能深入地了解信息和细节内容。 VR全景看车是通过虚拟现实技术实现逼真的汽车观赏和试乘体验。消费者可以通过智能…...

云部署家里的服务器

1.固定静态ip 查看ip地址,en开头的 ifconfig查看路由器ip,via开头的 ip route修改配置文件 cd /etc/netplan/ #来到这个文件夹 sudo cp 01-network-manager-all.yaml 01-network-manager-all.yaml.bak #先备…...

【利用冒泡排序的思想模拟实现qsort函数】

1.qsort函数 1.1qsort函数的介绍 资源来源于cplusplus网站 1.2qsort函数的主要功能 对数组的元素进行排序 对数组中由 指向的元素进行排序,每个元素字节长,使用该函数确定顺序。 此函数使用的排序算法通过调用指定的函数来比较元素对,并将指…...

[plugin:vite:css] [sass] Undefined mixin.

前言: vite vue3 TypeScript环境 scss报错: [plugin:vite:css] [sass] Undefined mixin. 解决方案: 在vite.config.ts文件添加配置 css: {preprocessorOptions: {// 导入scss预编译程序scss: {additionalData: use "/resources/_ha…...

【论文阅读】大语言模型中的文化道德规范知识

摘要: 在已有的研究中,我们知道英语语言模型中包含了类人的道德偏见,但从未有研究去检测语言模型对不同国家文化的道德差异。 我们分析了语言模型包含不同国家文化道德规范的程度,主要针对两个方面,其一是看语言模型…...

51单片机实训项目之产品数量计数器

/********************************************************************************* * 【实验平台】: QX-MCS51 单片机开发板 * 【外部晶振】: 11.0592mhz * 【主控芯片】: STC89C52 * 【编译环境】: Keil μVisio3 * 【程序…...

Scala第七章节

Scala第七章节 scala总目录 章节目标 掌握继承和抽象类相关知识点掌握匿名内部类的用法了解类型转换的内容掌握动物类案例 1. 继承 1.1 概述 实际开发中, 我们发现好多类中的内容是相似的(例如: 相似的属性和行为), 每次写很麻烦. 于是我们可以把这些相似的内容提取出来单…...

C语言进程的相关操作

C语言进程的相关操作 进程简介 每个进程都有一个非负整数形式到的唯一编号,即PID(Process Identification,进程标识)PID在任何时刻都是唯一的,但是可以重用,当进程终止并被回收以后,其PID就可…...

数据结构学习系列之链式栈

链式栈:即:栈的链式存储结构;分析:为了提高程序的运算效率,应采用头插法和头删法;进栈: int push_link_stack(stack_t *link_stack,int data) {if(NULL link_stack){printf("入参合理性检…...

too many session files in /var/tmp

Linux中Too many open files 问题分析和解决_e929: too many viminfo temp files-CSDN博客...

【7.0】打开未知来源安装应用

默认打开未知来源安装应用 frameworks\base\packages\SettingsProvider\res\values\defaults.xml <bool name"def_install_non_market_apps">false</bool>...

从开发视角看SSRF:你的PHP代码里,file_get_contents()和cURL用对了吗?附最新防御代码示例

PHP开发者必知&#xff1a;SSRF漏洞防御实战指南 1. 危险的PHP函数与常见业务场景 作为一名PHP开发者&#xff0c;你可能每天都在使用file_get_contents()和cURL这样的函数来处理远程资源。但你是否意识到&#xff0c;这些看似无害的函数可能成为攻击者入侵系统的跳板&#xff…...

2026数字化能力自测表:你的技能树点亮了几颗?

很多人求职碰壁、工作吃力、升职缓慢&#xff0c;根本原因不是不够努力&#xff0c;而是个人技能树跟不上2026年的数字化职场标准。当下职场早已不再只看专业成绩、纸面学历&#xff0c;数字化适配能力已经成为新人入职、职场晋升的隐形门槛。但大部分人对自己的能力认知是模糊…...

STC89C52RC单片机驱动数码管:从原理图到动态显示的保姆级代码解析

STC89C52RC单片机驱动数码管&#xff1a;从原理图到动态显示的保姆级代码解析 第一次拿到普中C51开发板时&#xff0c;看着密密麻麻的数码管电路和陌生的74系列芯片&#xff0c;我完全不知道如何让那些小灯管亮起想要的数字。直到把原理图上的每条线、每个引脚和代码里的每一位…...

从FindBugs到SpotBugs:在IntelliJ IDEA中升级你的代码静态分析工具链(避坑指南)

从FindBugs到SpotBugs&#xff1a;在IntelliJ IDEA中升级你的代码静态分析工具链&#xff08;避坑指南&#xff09; 如果你是一位长期使用FindBugs进行Java代码静态分析的中高级开发者&#xff0c;最近可能在IntelliJ IDEA的新版本中遇到了插件安装失败的问题。这不是你的操作失…...

AI智能体编排框架实战:构建具备记忆与协作能力的智能系统

1. 项目概述&#xff1a;当AI智能体需要“记忆”与“协作”在AI智能体开发领域&#xff0c;我们常常面临一个核心挑战&#xff1a;如何让智能体不仅能在单次对话中表现出色&#xff0c;还能记住历史、规划未来&#xff0c;并与其他智能体协同工作&#xff1f;这就像组建一支足球…...

如何永久保存微信聊天记录:3步完成专业级数据备份方案

如何永久保存微信聊天记录&#xff1a;3步完成专业级数据备份方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾因手机丢失、系统升级或更换设备&#xff0c;而…...

写给刚入行的测试新人:别急着学自动化,先把这件事做好

很多刚入行的测试新人&#xff0c;在浏览技术社区或与同行交流时&#xff0c;很容易被一种焦虑感裹挟。满屏的“自动化测试”、“性能测试”、“测试开发”&#xff0c;动辄月薪过万的招聘JD&#xff0c;让不少人产生一种错觉&#xff1a;不懂编程、不会写自动化脚本&#xff0…...

Lumberjack 暗色主题:提升开发效率的配色方案与多平台配置指南

1. 项目概述&#xff1a;一个为开发者打造的暗色系主题 如果你和我一样&#xff0c;每天有超过一半的时间都泡在代码编辑器里&#xff0c;那么一个顺眼的主题就不仅仅是“好看”而已&#xff0c;它直接关系到你的工作效率和眼睛的舒适度。今天要聊的这个项目&#xff0c; Drru…...

【实战复盘】Win11 23H2 微信图片拖拽至抖店失效:跨越注册表修复的降级排障SOP

一、 故障描述与初始环境故障现象&#xff1a;用户无法将微信聊天窗口内的图片&#xff0c;直接拖拽至“抖店工作台”聊天输入框中&#xff0c;系统表现为拖拽操作被拦截或无响应。故障环境&#xff1a;Windows 11 23H2 版本。前置历史&#xff1a;该故障电脑此前拖拽功能正常&…...

NoFences完整指南:免费开源工具彻底解决Windows桌面杂乱问题

NoFences完整指南&#xff1a;免费开源工具彻底解决Windows桌面杂乱问题 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为杂乱的Windows桌面图标而烦恼吗&#xff1f;No…...