文章目录
- 一、实现过程
-
- [1.1 创建程序](#1.1 创建程序)
- [1.2 引入依赖](#1.2 引入依赖)
- [1.3 启动类](#1.3 启动类)
- [1.4 Controller](#1.4 Controller)
- 二、web相关配置
- 三、静态资源处理
-
- [3.1 默认路径](#3.1 默认路径)
- [3.2 覆盖路径](#3.2 覆盖路径)
- 四、自定义拦截器(SpringMVC配置)
-
- [4.1 拦截器声明](#4.1 拦截器声明)
- [4.2 拦截器配置](#4.2 拦截器配置)
- [4.2 拦截器测试](#4.2 拦截器测试)
一、实现过程
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应用程序配置时,以下是五个重要的配置参数:
server.port
: 指定应用程序的HTTP服务器端口号。默认情况下,Spring Boot使用8080作为默认端口。您可以通过在配置文件中设置server.port
来更改端口号。server.servlet.context-path
: 设置应用程序的上下文路径。这是应用程序在URL中的基本路径。默认情况下,上下文路径为空。您可以通过在配置文件中设置server.servlet.context-path
属性来指定自定义的上下文路径。spring.mvc.view.prefix
和spring.mvc.view.suffix
: 这两个属性用于配置视图解析器的前缀和后缀。视图解析器用于解析控制器返回的视图名称,并将其映射到实际的视图页面。spring.mvc.view.prefix
定义视图的前缀,spring.mvc.view.suffix
定义视图的后缀。spring.resources.static-locations
: 配置静态资源的位置。静态资源可以是CSS、JavaScript、图像等。默认情况下,Spring Boot会将静态资源放在classpath:/static
目录下。您可以通过在配置文件中设置spring.resources.static-locations
属性来自定义静态资源的位置。spring.http.encoding.charset
和spring.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("/*");
}
}