一.访问静态资源
1.SpringBoot 从 classpath/static 的目录
实现WebMvcConfigurer 接口重写addResourceHandlers方法
2. ServletContext 根目录下访问静态资源
2.1application.yml配置简书
在yml之前使用的配置文件形式是xml或properties
文件他们太过繁琐,而且会出现大量重复的代码。而yml
文件结合了两者的优势,新增节点配置不再需要标签,在写多层级配置也不会产生重复代码。
SpringApplication.run(...)默认会加载classpath(src/main/resources)下的application.yml或application.properties配置文件
(app启动类默认加载application.yml这个配置文件,不过这个名字必须一致)
2.2application.yml的写法
注意:配置的值和键之间务必要隔开一个空格
spring:
#视图解析器
mvc:
view:
prefix: /WEB-INF/jsp/ #前缀
suffix: .jsp #后缀
thymeleaf: #不缓存,配合热部署使用
cache: false
#加载子工程中的application-redis.yml文件和application-mapper.yml文件:名字必须一致
profiles:
active: redis,mapper
datasource:
# 使用阿里的Druid连接池:性能较高
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
# 填写你数据库的url、登录名、密码和数据库名
url:jdbc:mysql://localhost:3306/myoaserverTimezone=UTC&useSSL=false&characterEncoding=utf8
username: root
password: 123456
# mybatis 相关
mybatis:
type-aliases-package: com.sst.pojo #取别名
# mapper.xml在哪里
mapper-locations: classpath:mybatis/*.xml #扫描mapper的xml文件
#服务器相关
server:
port: 8080 #项目访问的端口(tomcat中)
servlet:
context-path: /my #项目访问的名字
2.3热部署依赖(让html或jsp在不重启启动就可以让更改在网页中生效)
<!--热部署devtool--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
#必须在application.yml配置文件中设置为false不缓存 spring: thymeleaf: cache: false
2.4页面控制器PageController
使用 Page Controller 模式接受来自页面请求的输入、调用请求对模型执行的操作以及确定应用于结果页面的正确视图。分隔 "调度逻辑" 和所有 "视图相关代码" 。如果合适,创建用于所有页面控制器的公用基类,以避免代码重复并提高一致性和可测试性。
package com.dubbo.passport.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class PageController {
@RequestMapping("/{Page}")
public String showPage(@PathVariable String Page){
return Page;
}
}
2.5视图解析器依赖
<!-- jsp解析器:jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!--视图解析器依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>