SpringBoot项目中如何访问HTML页面

目录
  • 1、将HTML页面存放在resources/static目录下的访问
  • 2、将HTML页面存放在resources/templates目录下的访问
    • 2.1 方式一
      • 解决SpringBoot不能直接访问templates目录下的静态资源(不推荐)
    • 2.2 方式二
      • 通过Controller控制器层跳转访问的资源(推荐)

SpringBoot默认的页面映射路径(即模板文件存放的位置)为“classpath:/templates/*.html”。静态文件路径为“classpath:/static/”,其中可以存放JS、CSS等模板共用的静态文件。

1、将HTML页面存放在resources/static目录下的访问

将HTML页面存放在 resources(资源目录)下的 static 目录中。

【示例】在static目录下创建test1.html页面,然后在static目录下创建view目录,在view目录下创建test2.html页面,实现在浏览器中的访问。项目结构如下图:

(1)在static目录下创建test1.html页面,页面代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试页面1</title>
    <meta name="author" content="pan_junbiao的博客">
</head>
<body>
    <h3>测试页面1</h3>
    <p>您好,欢迎访问 pan_junbiao的博客</p>
    <p>https://blog.csdn.net/pan_junbiao</p>
</body>
</html>

执行结果:

(2)在static目录下创建view目录,在view目录下创建test2.html页面,页面代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试页面2</title>
    <meta name="author" content="pan_junbiao的博客">
</head>
<body>
    <h3>测试页面2</h3>
    <p>您好,欢迎访问 pan_junbiao的博客</p>
    <p>https://blog.csdn.net/pan_junbiao</p>
</body>
</html>

执行结果:

2、将HTML页面存放在resources/templates目录下的访问

将HTML页面存放在 resources(资源目录)下的 templates 目录中。

【示例】在templates目录下创建test3.html页面,实现在浏览器中的访问。

在templates目录下创建test3.html页面,页面代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试页面3</title>
    <meta name="author" content="pan_junbiao的博客">
</head>
<body>
    <h3>测试页面3</h3>
    <p>您好,欢迎访问 pan_junbiao的博客</p>
    <p>https://blog.csdn.net/pan_junbiao</p>
</body>
</html>

2.1 方式一

解决SpringBoot不能直接访问templates目录下的静态资源(不推荐)

SpringBoot项目下的templates目录的资源默认是受保护的,没有开放访问权限。这是因为templates文件夹,是放置模板文件的,因此需要视图解析器来解析它。所以必须通过服务器内部进行访问,也就是要走控制器 → 服务 → 视图解析器这个流程才行。同时,存在安全问题,比如说,你把你后台的html文件放到templates,而这个文件夹对外又是开放的,就会存在安全隐患。

解决方法:在application.yml或者application.properties配置文件中将访问权限开放(不推荐)

application.yml文件配置:

spring:
  resources:
    static-locations: classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/, classpath:/templates/

application.properties文件配置:

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/

配置完成后,启动SpringBoot,在浏览器中输入地址就可以直接访问templates目录下的静态资源了。

执行结果:

2.2 方式二

通过Controller控制器层跳转访问的资源(推荐)

在源代码层中创建controller目录(控制器层),在controller目录下创建IndexController(首页控制器类),项目结构如下图:

(1)pom.xml文件的配置

注意:一定要添加thymeleaf的依赖。

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

(2)编写控制器方法

创建IndexController(首页控制器类),代码如下:

package com.pjb.springboothtml.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 首页控制器
 * @author pan_junbiao
 **/
@Controller
public class IndexController
{
    @RequestMapping("/test3")
    public String test3()
    {
        return "test3";
    }
}

执行结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Springboot访问templates html页面过程详解

    springboot项目默认是不允许直接访问templates下的文件的,是受保护的. 如果要访问templates下的文件,推荐使用thymeleaf. 注:使用thymeleaf这一点要牢牢记住! 如何使用: 1.pom依赖 <!--thymeleaf 模板依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter

  • springboot访问template下的html页面的实现配置

    一.template下文件不允许直接访问 1.查资料得知:springboot项目默认是不允许直接访问template下的文件的,是受保护的. 所以想访问template下的html页面,我们可以配置视图解析器. 2.如果想要用视图去展示,应该要设置好视图展示页面,比如说用一个模板语言来接收返回的数据(thymeleaf或者freemarker等), 也可以用jsp接收,但是SpringBoot官方是不推荐用jsp的,而是建议使用thymeleaf作为模板语言,这里我以thymeleaf为例.

  • SpringBoot使用Thymeleaf模板引擎访问静态html的过程

    最近要做一个java web项目,因为页面不是很多,所以就没有前后端分离,前后端写在一起,这时候就用到thymeleaf了,以下是不动脑式的傻瓜教程..... 一:创建spring boot的web项目,过程略: 二:依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <

  • Springboot访问html页面步骤解析

    springboot中如果想访问html页面,不每访问一个页面就写一个Controller,可以统一写一个公共的controller方法 代码: (1)引入hutool工具依赖 <!-- hutool工具包--> <dependency> <groupId>com.xiaoleilu</groupId> <artifactId>hutool-all</artifactId> <version>3.3.0</versi

  • Springboot下swagger-ui.html访问不到的解决方案

    目录 Springboot swagger-ui.html访问不到 问题 解决方法 swagger-ui的坑,swagger-ui.html无显示 现在说这个问题导致的原因,以及解决方案 Springboot swagger-ui.html访问不到 问题 在前面的Swagger2的基本配置中是可以访问到swagger-ui.html的 但当自定义继承配置WebMvcConfigurationSupport后便无法访问到该页面,原因参考请看参考资料. 首先看我的自定义配置, ***********

  • Springboot访问html页面的教程详解

    1. 在原有的项目resouces目录下创建static包,并在static下创建pages,然后在pages包下hello.html. 这时你会发现hello.html并没有在static中,它跑哪去了呢?打开src下的webapp,发现有一个hello.htm,删除web.xml,并将hello.html用鼠标左键移到static目录下; hello.html代码: <!DOCTYPE html> <html> <head> <meta charset=&qu

  • springboot如何使用thymeleaf模板访问html页面

    引言 在传统的web开发中通常使用jsp页面,首先需要在pom文件中引入springmvc相关的包,然后写springmvc的配置文件(包括访问资源的路径解析),之后还需再web.xml中配置访问路由.这无疑太麻烦了,每次开发前都需要编写大量的配置文件. springboot为此提供了高效便捷的解决方案,只需再pom.xml中添加web开发的依赖,便可进行web开发,省去了繁琐的配置步骤. 下面为web开发引入的依赖 <dependency> <groupId>org.spring

  • SpringBoot项目中如何访问HTML页面

    目录 1.将HTML页面存放在resources/static目录下的访问 2.将HTML页面存放在resources/templates目录下的访问 2.1 方式一 解决SpringBoot不能直接访问templates目录下的静态资源(不推荐) 2.2 方式二 通过Controller控制器层跳转访问的资源(推荐) SpringBoot默认的页面映射路径(即模板文件存放的位置)为"classpath:/templates/*.html".静态文件路径为"classpath

  • springboot项目中实现访问druid内置监控页面

    springboot 访问druid内置监控页面 1.首先加入druid依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version> </dependency> 2.设置配置文件: # 数据库访问配置 # 主数据源,默认的 spr

  • Java项目中如何访问WEB-INF下jsp页面

    Java小项目中WEB-INF下jsp页面如何访问 一:一般为啥要把jsp页面放在WEB-INF呐? 这样主要是为了网站的安全的角度来说的,WEB-INF是安全目录Tomcat 默认的访问路径是WebRoot下的index.jsp,放在WEB-INF下的页面一般不配置是无法访问的. 你的站点肯定有些页面是需要经过登录验证或其他验证后才能访问的啊,这些页面就放在web-inf里. 如果是能不经过验证就访问的页面,比如主页.登录页.欢迎页这种,就不要放在web-inf里  二: 下面来看如何访问We

  • vue 项目中当访问路由不存在的时候默认访问404页面操作

    前言: 在Vue项目中,当访问的页面路由不存在或错误时,页面显示为一片空白.然而,通常我们需要对访问url不存在或者错误的情况下添加默认的404页面,即not found页面. 一般的处理方法是: 在最后添加一个path: * ,优先级从上到下查找路由,都没有的时候全部指向 404页面 ,代码如下: const baseRoute = [ { path: '/login', name: 'login', component: Login }, {path: '/', redirect: '/in

  • SpringBoot项目中的视图解析器问题(两种)

    前言:SpringBoot官网推荐使用HTML视图解析器,但是根据个人的具体业务也有可能使用到JSP视图解析器,所以这里我给大家简单介绍一下这两种视图解析器的具体使用 一.解析成JSP页面 1.在pom.xml文件中添加相关依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> &

  • 在SpringBoot项目中的使用Swagger的方法示例

    一. 首先Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步.Swagger官方API文档:https://swagger.io/ 作用:   1. 接口的文档在线自动生成.   2. 功能测试. Swagger的主见介绍:    Swagger Codegen: 通过Codegen 可

  • 在SpringBoot项目中整合拦截器的详细步骤

    目录 引言 1.创建一个SpringBoot项目工程 2.配置自定义的拦截器 3.注册拦截器 4.编写控制器 总结 引言 拦截器在Web系统中非常常见,对于某些全局统一的操作,我们可以把它提取到拦截器中实现.总结起来,拦截器大致有以下几种使用场景: 1.权限检查:如登录检测,进入处理程序检测用户是否登录,如果没有,则直接返回登录页面或error错误页面: 2.性能检测:有时系统在某段时间莫名其妙很慢,我们可以通过拦截器在进入处理程序之前记录开始时间,在处理完后记录结束时间,从而得到该请求的处理时

  • SpringBoot项目中的多数据源支持的方法

    1.概述 项目中经常会遇到一个应用需要访问多个数据源的情况,本文介绍在SpringBoot项目中利用SpringDataJpa技术如何支持多个数据库的数据源. 具体的代码参照该 示例项目 2.建立实体类(Entity) 首先,我们创建两个简单的实体类,分别属于两个不同的数据源,用于演示多数据源数据的保存和查询. Test实体类: package com.example.demo.test.data; import javax.persistence.Entity; import javax.pe

  • 在SpringBoot项目中利用maven的generate插件

    使用maven 插件 generate生成MyBatis相关文件 在项目中增加 maven 依赖 - mybatis-spring-boot-starter - mysql-connector-java - mybatis-generator-maven-plugin 插件 自动读取 resources 下的generatorConfig.xml 文件 <?xml version="1.0" encoding="UTF-8"?> <project

  • 浅谈springboot项目中定时任务如何优雅退出

    在一个springboot项目中需要跑定时任务处理批数据时,突然有个Kill命令或者一个Ctrl+C的命令,此时我们需要当批数据处理完毕后才允许定时任务关闭,也就是当定时任务结束时才允许Kill命令生效. 启动类 启动类上我们获取到相应的上下文,捕捉相应命令.在这里插入代码片 @SpringBootApplication /**指定mapper对应包的路径*/ @MapperScan("com.youlanw.kz.dao") /**开启计划任务*/ @EnableScheduling

随机推荐