spring boot 默认静态文件位置及动态文件位置

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 经验分享
  • 时间:2019-05-12 15:21
  • 2326人已阅读
简介 springboot项目只有src目录,没有webapp目录,会将静态访问(html/图片等)映射到其自动配置的静态目录,如下/static/public/resources/META-INF/resources所以,一般我们会配置spring.resourcess.static-locations的值:web.upload-path=E:/spring.mvc.static-path-patte

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

spring boot项目只有src目录,没有webapp目录,会将静态访问(html/图片等)映射到其自动配置的静态目录,如下

/static

/public

/resources

/META-INF/resources

所以,一般我们会配置spring.resourcess.static-locations的值:

web.upload-path=E:/
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}

动态页面

动态页面需要先请求服务器,访问后台应用程序,然后再转向到页面,比如访问JSP。spring boot建议不要使用JSP,默认使用Thymeleaf来做动态页面。

在pom.xml  中添加Thymeleaf组件

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

TemplatesController.java

package hello;  
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.stereotype.*;  
import org.springframework.web.bind.annotation.*;  
  
@Controller
public class TemplatesController {  
   
	@GetMapping("/templates")
	String test(HttpServletRequest request) {
		//逻辑处理
		request.setAttribute("key", "hello world");
		return "/index";
	}  
}

@RestController:上一篇中用于将返回值转换成json


@Controller:现在要返回的是一个页面,所以不能再用@RestController,而用普通的@Controller/


request.setAttribute("key", "hello world"):这是最基本的语法,向页面转参数 key和value。


return "/index": 跳转到 templates/index.html动态页面,templates目录为spring boot默认配置的动态页面路径。

ffc06d52b7434ec60736308978a2cc40.png

其中:templates目录为spring boot默认配置的动态页面路径。

TopTop