SpringBoot框架:第二章:SpringBoot中static和templates二个目录下的页面和静态资源访问的三个常见问题

2022-09-28 16:53:58 浏览数 (1)

静态页面:

在resources建立一个static目录和index.htm静态文件,访问地址 http://localhost:8080/index.html

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

/static

/public

/resources

/META-INF/resources

如果要从后台跳转到静态index.html

@Controller public class HtmlController { @GetMapping("/html") public String html() { return “/index.html”; }

动态页面:

使用Thymeleaf来做动态页面,在pom.xml 中添加Thymeleaf组件

代码语言:javascript复制
<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-thymeleaf</artifactId>
    		</dependency>
1234

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

package hello;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.; import org.springframework.web.bind.annotation.;

@Controller public class TemplatesController {

代码语言:javascript复制
@GetMapping("/templates")
String test(HttpServletRequest request) {
	//逻辑处理
	request.setAttribute("key", "hello world");
	return "/index";
}  
123456

}

index.html页面:

代码语言:javascript复制
<!DOCTYPE html>
    <html>
    <span th:text="${key}"></span>
    </html>	

12345

访问地址:http://localhost:8080/templates

问题来了

第一个是:启动项目之后,不需要进过后台,直接localhost:8080就可以直接访问templates中的index.html页面,不是访问static中的index.html页面,这个要怎么设置?

回答:正常途径应该是用nginx或apach代理服务器做跳转

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120382381

0 人点赞