创建名为springboot_springmvc的新module,过程参考3.1节

4.1、重要的配置参数

在 spring boot 中,提供了许多和 web 相关的配置参数(详见官方文档),其中有三个比较重要:

4.1.1、server.port

该配置参数用于设置 web 应用程序的服务端口号,默认值为 8080

4.1.2、server.servlet.context-path

该配置参数用于设置 web 应用程序的上下文路径,默认值为空

4.1.3、spring.resources.static-locations

该配置参数用于设置 web 应用程序的静态资源(图片、js、css和html等)的存放目录(详见4.2节),

默认值为 classpath:/static 、classpath:/public 、classpath:/resources 和 classpath:/META-INF/resources

4.2、静态资源目录的配置

spring boot 定义了静态资源的默认查找路径:

classpath:/static 、classpath:/public 、classpath:/resources 和 classpath:/META-INF/resources

只要将静态资源放在以上的任何一个目录中(习惯会把静态资源放在 classpath:/static 目录下),都能被访问到。

4.2.1、static静态目录示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h1>static.html</h1> </body>
</html>

注意:外部访问静态资源时,不需要写默认(或自定义)的静态资源目录(本例为 static )

4.2.2、public静态目录示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h1>public.html</h1> </body>
</html>

注意:外部访问静态资源时,不需要写默认(或自定义)的静态资源目录(本例为 public )

4.2.3、resources静态目录示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h1>resources.html</h1> </body>
</html>

注意:外部访问静态资源时,不需要写默认(或自定义)的静态资源目录(本例为 resources )

4.2.4、META-INF/resources静态目录示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h1>META-INF_resources.html</h1> </body>
</html>

注意:外部访问静态资源时,不需要写默认(或自定义)的静态资源目录(本例为 META-INF/resources )

4.2.5、自定义的静态目录示例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h1>aaa.html</h1> </body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <h1>bbb.html</h1> </body>
</html>

注意:当设置了自定义的静态资源目录之后,默认的静态目录 classpath:/static 、classpath:/public 、classpath:/resources 失效,

但默认的静态目录 classpath:/META-INF/resources 依然有效。

# 设置自定义的静态资源目录(本例为 aaa 和 bbb 目录)
spring.web.resources.static-locations=classpath:/aaa,classpath:/bbb

注意:外部访问静态资源时,不需要写自定义的静态资源目录(本例为 aaa )

注意:外部访问静态资源时,不需要写自定义的静态资源目录(本例为 bbb )

4.3、自定义拦截器的配置

4.3.1、创建拦截器

package online.liaojy.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* @author liaojy
* @date 2023/12/20 - 6:48
*/
public class TestInterceptor implements HandlerInterceptor { @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("TestInterceptor --> preHandle()");
return true;
} }

4.3.2、创建SpringMVC配置类

SpringMVC配置类的更多内容,请参考SpringMVC教程的14.4节

package online.liaojy.config;

import online.liaojy.interceptor.TestInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /**
* @author liaojy
* @date 2023/12/20 - 7:04
*/
// 配置类只要放在启动类所在的包或者子包即可生效
@Configuration
public class SpringMVCConfig implements WebMvcConfigurer { @Override
public void addInterceptors(InterceptorRegistry registry) {
TestInterceptor testInterceptor = new TestInterceptor();
registry.addInterceptor(testInterceptor).addPathPatterns("/**");
} }

4.3.3、测试效果

    @RequestMapping("/testInterceptor")
public String testInterceptor(){
System.out.println("TestController --> testInterceptor()");
return "testInterceptor()";
}

4、SpringBoot2之整合SpringMVC的更多相关文章

  1. springboot学习入门简易版六---springboot2.0整合全局捕获异常及log4j日志(12-13)

    使用Aop实现 1创建异常请求 在原有项目基础上,jspController中创建一个可能发生异常的请求: /** * 全局捕获异常测试 * @param i * @return */ @Reques ...

  2. springboot学习入门简易版五---springboot2.0整合jsp(11)

    springboot对jsp支持不友好,内部tomcat对jsp不支持,需要使用外部tomcat,且必须打包为war包. 1 创建maven项目 注意:必须为war类型,否则找不到页面. 且不要把js ...

  3. CXF WebService整合SpringMVC的maven项目

    首先推荐博客:http://www.cnblogs.com/xdp-gacl/p/4259481.html   http://blog.csdn.net/hu_shengyang/article/de ...

  4. spring整合springmvc和hibernate

    上篇文章使用maven搭建了web环境,这篇来记录下如何使用spring整合springmvc和hibernate,亦即spring+springmvc+hibernate框架整合. 第一步:首先配置 ...

  5. springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置

    前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多 ...

  6. eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis

    接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...

  7. SpringBoot整合系列-整合SpringMVC

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9984607.html SpringBoot整合Spring MVC 步骤 第一步:添加必 ...

  8. Shiro 整合SpringMVC 并实现权限管理,登录和注销

    Shiro 整合SpringMVC 并且实现权限管理,登录和注销 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring S ...

  9. 【SpringBoot】息队列介绍和SpringBoot2.x整合RockketMQ、ActiveMQ

    ========================13.消息队列介绍和SpringBoot2.x整合RockketMQ.ActiveMQ ======================= 1.JMS介绍和 ...

  10. 整合SpringMVC框架和Spring框架

    -------------------------siwuxie095                                 整合 SpringMVC 框架和 Spring 框架       ...

随机推荐

  1. itest(爱测试) 4.5.2 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理4合1,又有丰富的统计分析.可按测试包分配测试用例执行,也可建测试迭代(含任务, ...

  2. shiro可以完成哪些工作?

    shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等

  3. JavaScript实现防抖节流函数

    review 防抖函数 防抖函数一般是短时间内多次触发,但是只有最后一次触发结束后的delay秒内会去执行相对应的处理函数. 相当于一个赛道里面一次只能跑一辆赛车,如果此时已经有一辆赛车在跑道里面跑, ...

  4. ChatGPT应用与实践初探

    近期,长江商学院EMBA38期&甄知科技开展了题为"ChatGPT应用与实践初探"的线下沙龙活动,由上海甄知科技创始合伙人兼CTO张礼军主讲,主要给大家解密最近很火的Cha ...

  5. vite+vue3+ts+elementPlus前端框架搭建 [三] router路由管理

    路由包括动态路由.静态路由两种,本文中以静态路由的方式实现了动态路由. 1. 创建Router 在Src目录下创建router文件夹,并在router文件夹下创建index.ts文件. index.t ...

  6. GIT 生成变更历史文件清单

    脚本搞定git文件版本变化信息,解决部署种变更的审核和统计信息工作复杂问题 git diff --name-status --ignore-cr-at-eol --ignore-space-at-eo ...

  7. MestReNova14.0中文版安装教程

    MestReNova 14是一款专业级的核磁共振(NMR)与质谱(MS)数据分析软件,专注于化合物结构解析和验证.该软件以卓越的谱图处理能力和智能化算法为核心,提供自定义参数调整.自动峰识别.精准积分 ...

  8. Caffe样例中mnist的文件之间逻辑分析

    约定一下,Caffe运行样例时在终端中使用的所有命令,同时终端中的目录已经cd到Caffe之中(别告诉我一个Github项目你还没有make all就直接拿过来用了) sudo sh data/mni ...

  9. Lfu缓存在Rust中的实现及源码解析

    一个 lfu(least frequently used/最不经常使用页置换算法 ) 缓存的实现,其核心思想是淘汰一段时间内被访问次数最少的数据项.与LRU(最近最少使用)算法不同,LFU更侧重于数据 ...

  10. Linux驱动中的等待队列与休眠

    Linux驱动中的等待队列与休眠 原文:https://blog.csdn.net/mengluoxixiang/article/details/46239523?spm=1001.2014.3001 ...