【SpringBoot3】整合SpringMVC

文章目录


一、实现过程

springboot-part - GitHub

1.1 创建程序

模块:springboot-base-springmvc-03

1.2 引入依赖

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
    </parent>
    <groupId>com.wake</groupId>
    <artifactId>springboot-base-springmvc-03</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

</project>

1.3 启动类

java 复制代码
@SpringBootConfiguration
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class,args);
    }
}

1.4 Controller

java 复制代码
@Controller
@ResponseBody
public class HelloController {
    @GetMapping("show")
    public String show(){
        return "Hello SpringBoot! MVC!";
    }
}

二、web相关配置

yml 复制代码
#相关的Web配置
server:
  servlet:
    context-path: /boot #设置项目根路径
  port: 80 #默认是8080
  • 测试

Spring Boot Web应用程序配置 参数 - 官方文档

当涉及Spring Boot的Web应用程序配置时,以下是五个重要的配置参数:

  1. server.port: 指定应用程序的HTTP服务器端口号。默认情况下,Spring Boot使用8080作为默认端口。您可以通过在配置文件中设置server.port来更改端口号。
  2. server.servlet.context-path: 设置应用程序的上下文路径。这是应用程序在URL中的基本路径。默认情况下,上下文路径为空。您可以通过在配置文件中设置server.servlet.context-path属性来指定自定义的上下文路径。
  3. spring.mvc.view.prefixspring.mvc.view.suffix: 这两个属性用于配置视图解析器的前缀和后缀。视图解析器用于解析控制器返回的视图名称,并将其映射到实际的视图页面。spring.mvc.view.prefix定义视图的前缀,spring.mvc.view.suffix定义视图的后缀。
  4. spring.resources.static-locations: 配置静态资源的位置。静态资源可以是CSS、JavaScript、图像等。默认情况下,Spring Boot会将静态资源放在classpath:/static目录下。您可以通过在配置文件中设置spring.resources.static-locations属性来自定义静态资源的位置。
  5. spring.http.encoding.charsetspring.http.encoding.enabled: 这两个属性用于配置HTTP请求和响应的字符编码。spring.http.encoding.charset定义字符编码的名称(例如UTF-8),spring.http.encoding.enabled用于启用或禁用字符编码的自动配置。

三、静态资源处理

3.1 默认路径

默认的静态资源路径为:

· classpath:/META-INF/resources/

· classpath:/resources/

· classpath:/static/

· classpath:/public/

我们只要静态资源放在这些目录中任何一个,SpringMVC都会帮我们处理。

我们习惯会把静态资源放在classpath:/static/ 目录下。

3.2 覆盖路径

yml 复制代码
spring:
  web:
    resources:
      static-locations: classpath:/webapp #配置静态资源文件
      #一旦在这配置了,那么默认的文件夹就被覆盖了,全部失效,只能使用配置的默认文件夹
      #外部访问时,不需要加文件夹名的前缀,直接 /静态资源 即可

四、自定义拦截器(SpringMVC配置)

按正常的springmvc配置拦截器即可。

【SpringMVC】全局异常处理 拦截器 参数校验 扩展总结第四期

4.1 拦截器声明

java 复制代码
/**
 * @Description: 拦截器
 */
public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("request : " + request + "response : " + response + "handler : " + handler);
        return true;
    }
}

4.2 拦截器配置

java 复制代码
/**
 * @Description: springmvc配置
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    /**
     * /**  拦截当前目录及子目录下的所有路径 /user/**   /user/findAll  /user/order/findAll
     * /*   拦截当前目录下的以及子路径   /user/*     /user/findAll
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new MyInterceptor()).addPathPatterns("/*");
    }
}

4.2 拦截器测试

相关推荐
新手小袁_J21 分钟前
JDK11下载安装和配置超详细过程
java·spring cloud·jdk·maven·mybatis·jdk11
呆呆小雅22 分钟前
C#关键字volatile
java·redis·c#
Monly2122 分钟前
Java(若依):修改Tomcat的版本
java·开发语言·tomcat
Ttang2324 分钟前
Tomcat原理(6)——tomcat完整实现
java·tomcat
goTsHgo25 分钟前
在 Spring Boot 的 MVC 框架中 路径匹配的实现 详解
spring boot·后端·mvc
钱多多_qdd35 分钟前
spring cache源码解析(四)——从@EnableCaching开始来阅读源码
java·spring boot·spring
waicsdn_haha37 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
Q_19284999061 小时前
基于Spring Boot的摄影器材租赁回收系统
java·spring boot·后端
Code_流苏1 小时前
VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)
java·ide·vscode·搭建·java开发环境
良许Linux1 小时前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网