SpringBoot项目开发学习笔记之模版引擎

springboot项目开发实战 文章目录springboot项目开发实战之后端流程详解一、创建简单的springboot之web项目1、简单springboot框架环境搭建2、相关jar包的导入3、配置文件yaml的设置4、框架结构的梳理如过滤器和拦截器5、代码结构的书写1)controller层书写 springboot项目开发实战之后端流程详解 一、创建简单的springboot之web项目 1、简单springboot框架环境搭建 step1: step2: step3: step4: step5: 2、相关jar包的导入 阅读详情

默认情况下,Spring Boot从classpath下一个叫/static(/public,/resources或/META-INF/resources)的文件夹或从ServletContext根目录提供静态内容。这使用了Spring MVC的ResourceHttpRequestHandler,所以你可以通过添加自己的WebMvcConfigurerAdapter并覆写addResourceHandlers方法来改变这个行为(加载静态文件)。

在一个单独的web应用中,容器默认的servlet是开启的,如果Spring决定不处理某些请求,默认的servlet作为一个回退(降级)将从ServletContext根目录加载内容。大多数时候,这不会发生(除非你修改默认的MVC配置),因为Spring总能够通过DispatcherServlet处理请求。

此外,上述标准的静态资源位置有个例外情况是Webjars内容。任何在/webjars/**路径下的资源都将从jar文件中提供,只要它们以Webjars的格式打包。

注:如果你的应用将被打包成jar,那就不要使用src/main/webapp文件夹。尽管该文件夹是一个共同的标准,但它仅在打包成war的情况下起作用,并且如果产生一个jar,多数构建工具都会静悄悄的忽略它

模板引擎

Spring Boot支持多种模版引擎包括:

  • FreeMarker
  • Groovy
  • Thymeleaf(官方推荐)
  • Mustache

JSP技术Spring Boot官方是不推荐的,原因有三:

  1. tomcat只支持war的打包方式,不支持可执行的jar。
  2. Jetty 嵌套的容器不支持jsp
  3. Undertow
  4. 创建自定义error.jsp页面不会覆盖错误处理的默认视图,而应该使用自定义错误页面

当你使用上述模板引擎中的任何一个,它们默认的模板配置路径为:src/main/resources/templates。当然也可以修改这个路径,具体如何修改,可在后续各模板引擎的配置属性中查询并修改。

Thymeleaf模板引擎

Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用。它的功能特性如下:

  • Spring MVC中@Controller中的方法可以直接返回模板名称,接下来Thymeleaf模板引擎会自动进行渲染
  • 模板中的表达式支持Spring表达式语言(Spring EL)
  • 表单支持,并兼容Spring MVC的数据绑定与验证机制
  • 国际化支持

Spring官方也推荐使用Thymeleaf,所以本篇代码整合就使用Thymeleaf来整合。

引入依赖

1
2
3
4
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>


如图所示,spring-boot-starter-thymeleaf会自动包含spring-boot-starter-web,所以我们就不需要单独引入web依赖了。

正常情况下包含jsp的页面是无法用jar的运行的,因为jsp默认是在webapp目录下,可是打包成jar是没有webapp这个目录结构的。

虽然网上有介绍说通过pom.xml配置,把WEB-INF目录复制到META-INF/resources下面。但是博主试了一整天还是访问不了,最后放弃了。各位如何有兴趣可以继续尝试,毕竟war也可以通过java -jar命令来启动的不是么。


参考:

http://tengj.top/2017/03/13/springboot4/

http://tengj.top/2017/03/13/springboot5/(此文中还包括如何把springboot部署到外部tomcat中)

Springboot web开发系列二:模版引擎Thymeleaf Springboot web开发系列二:Thymeleaf语法一、pom.xml导入Thymeleaf依赖二、完整目录结构与前端页面输出效果三、Controller之IndexController四、index.html五、完整的pom.xml六、主程序SpringbootWebApplication 一、pom.xml导入Thymeleaf依赖 <dependency> <groupId>org.springframework.boot</groupId> < 阅读详情

相关推荐

Spring boot thymeleaf 简单例子

实现的一个学生信息管理系统

Spring Boot 开发应用之Thymeleaf

Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依赖。   Spring Boot中启动类要放在root package下,推荐项目结构: root package结构:com.example 应用启动类Application.java...

new03的专栏 220

Unity Shader Graph 2D - Procedural程序化图形转动的环状六边形

Hexagon又称六边形,在游戏中是十分常见的基础形状,本文将使用程序化的六边形来制作多个环状六边形叠加的转动动画效果,实践Unity Shader Graph中的常用节点功能。

Giver的博客 1928

Drupal覆写模板实现不同栏目不同主题

为什么80%的码农都做不了架构师?>>> ...

weixin_34026276的博客 366

Python入门基础教程(非常详细)

Python是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大,坚持「极简主义」。Python类库(模块)极其丰富,这使得Python几乎无所不能,不管是传统的Web开发、PC软件开发、Linux运维,还是当下火热的机器学习、大数据分析、网络爬虫,Python都能胜任。这套Python基础教程不是教科书,不会玩弄概念,而是力求口语化和通俗化,让读者尽快入门。如果有小朋友出于兴趣学习Python,请引导他阅读本教程的前半部分,这是基础,可以降低学习成本;...

Yuki1127918的博客 34万+

SRAM compiler中 Number of banks 设置

的值时,需要考虑应用的性能需求、功耗要求和面积限制。设计者应根据具体的应用场景选择合适的bank数量,以优化整体系统性能。bank是一种用于分离存储器访问的设计结构,允许同时对不同的存储区域进行读写操作,从而提高存储器的并发访问性能。选项用于指定 SRAM 存储器的 并发存储区域。在 SRAM 编译器中,

hzmscut的博客 1871

Spring Boot 篇三: Web Application,Thymeleaf以及JPA(下)

Spring Boot的第三篇,是Web Application(基于Thymeleaf和JPA)的最后一部分。

Wrote Ideas Down, Together with Skills 298

STM32独立实现CANOpen主机功能:从零构建轻量级控制方案

本文详细介绍了如何在STM32上不依赖CanFestival库,从零构建一个轻量级的CANOpen主机方案。文章深入剖析了CANOpen主机的三大核心功能——NMT网络管理、SDO参数配置与PDO过程数据交换,并提供了从硬件准备、驱动层构建到协议实现的完整代码实战。该方案代码精简,资源占用低,特别适合在资源受限的STM32平台上实现工业控制、电机驱动等场景的稳定通信。

potato的博客 1072

注意Application的位置以及加thymeleaf引擎

1.Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包 像这样: 2.今天犯了一个错误,springboot没有在pom.xml中配置模板引擎thymeleaf 依赖,在templates里写了个页面,使用controller跳转始终不对。。。所以要用html必须要有模板引擎 <dependency> <groupId>org.springframework.boot</groupId> <artifac

hy1255564202的博客 463

从RADIUS服务器到AP:实战搭建一个小型WPA2-Enterprise测试环境(FreeRADIUS + 家用路由器)

本文详细介绍了如何从零搭建WPA2-Enterprise测试环境,使用FreeRADIUS服务器和家用路由器实现企业级WiFi认证。通过实战指南,包括证书生成、EAP-PEAP配置、OpenWrt路由器设置及故障排查,帮助网络工程师和爱好者掌握802.1X协议栈的实际应用。

weixin_28715953的博客 324

CVE-2025-25249漏洞深度解析:FortiOS认证绕过与实战缓解

远程代码执行(RCE)是网络安全中最危险的漏洞类型之一,其核心往往源于认证机制失效或内存安全缺陷。CVE-2025-25249正属于此类高危漏洞——它不依赖用户凭证,也不需要交互触发,而是通过超长HTTP头(如X-Forwarded-For)引发内存越界写入,直接绕过FortiOS和FortiSwitchManager的完整认证流程。该漏洞影响广泛、CVSS评分高达9.8,凸显了嵌入式设备在HTTP协议栈实现中的深层风险。在企业网络中,FortiGate等设备常作为边界守门人,一旦失陷将导致root级控制权

weixin_33694620的博客 524

SpringBoot学习笔记七:springBoot的常用模版引擎

1. SpringBoot学习笔记七:springBoot的常用模版引擎 文章目录1. SpringBoot学习笔记七:springBoot的常用模版引擎1.1. SpringBoot的Starter1.2. 常用的javaweb模版引擎1.3. SpringBoot整合模版引擎Freemarker1.4. springBoot整合thymeleaf 1.1. SpringBoot的Starter...

公子&小白的博客 716

从零到一:ESP32与豆包大模型的RTC连续对话实现指南

文本实现ESP32S3 SparkBot与豆包大模型的RTC连续对话

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 4364

Springboot整合Freemarker模版引擎进行页面的开发

现在的主流开发模式都是采用前后端分离开发,但是作为个人开发者来说,前后端开发带来的问题也是不少的,例如ajax跨域问题,笔者在跨域请求的问题上使用了jsonp来解决,但是这次我们主要来讲讲结合Freemarker模版引擎(前后端不分离)来进行页面的开发。 对于不会设计页面的前端小白们来说,福音到了,因为现在有很多优秀的开源BootStrap现成模版可以供给我们使用。那么后端程序员在开发上有不用过...

咸鱼终有翻身日 1534

如何使用 Python 爬取 58 同城招聘信息

职位名称:招聘的岗位名称,如“前端开发”、“数据分析师”等。公司名称:招聘公司的名称。薪资待遇:职位的薪资范围,通常以“面议”、“10k-20k”这样的形式表示。工作地点:公司所在的城市及具体地址。公司福利:例如五险一金、带薪年假、绩效奖金等。发布时间:职位信息的发布时间。一个典型的招聘页面 URL 格式通常如下:在这个页面上,职位信息会分页展示,爬虫需要模拟翻页,获取多个页面的招聘信息。

2201_76125261的博客 1291

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringBoot模版引擎

摘要:本文介绍了Spring Boot推荐的模板引擎Thymeleaf的基本使用和核心语法。主要内容包括:1)引入Thymeleaf依赖并配置默认模板路径;2)Thymeleaf的四大标准表达式语法(变量、选择、国际化、URL);3)常用Thymeleaf标签(如th:text、th:if、th:each等)的功能和使用示例;4)通过示例演示如何在Controller中传递数据到模板并进行渲染。Thymeleaf相比JSP等传统模板引擎语法更简单且功能强大,支持OGNL/SpringEL表达式、条件判断、循

qq_73993301的博客 872

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SpringBoot Web开发中的Thymeleaf模版引擎

Thymeleaf作为Spring Boot官方推荐的模板引擎,以其简洁的语法和强大的功能,成为Web开发中不可或缺的工具。通过本文的介绍,相信你已经了解了如何在Spring Boot项目中集成和使用Thymeleaf模板引擎。希望这能帮助你更高效地开发Web应用。

lrh35的博客 2098

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

springBoot的模版引擎

模版引擎 常见的模版引擎有JSP、Velocity、Freemarker和Thymeleaf Thymeleaf模版 使用时需要把html页面放在classpath:/templates/文件夹下,thymeleaf就能自动渲染 创建模版文件,并需要导入thymeleaf的名称空间 <html lang="en" xmlns:th="http://www.thymeleaf.or...

CHYabc123456hh的博客 300

SpringBoot项目首页和Thymeleaf模版引擎

项目首页 一般的SpringBoot项目直接访问首页通常都是Whitelabel Error Page,因此要想显示一个首页,首页对应的文件应当存放于上文所说的存放静态资源的目录当中(这里以存放在public为例),且文件名应当叫做index。 此时运行项目后直接访问http://localhost:8081/根目录就可以显示首页 Thymeleaf模版引擎 可以通过模版引擎对html进行渲染,注意:只要使用了模版引擎,那么该项目就不再是一个前后端分离的项目了 导入Thymeleaf依赖 <d

weixin_47656385的博客 318

Thymeleaf模版引擎初尝试

模版引擎虽然不能够实现代码与视图解耦,但是其适合于个人开发者使用,而且如果存在前后端项目中,前端大量请求后端时,模版引擎无疑也存在优势。

ThinkStu的博客 6141

IntelliJ+SpringBoot项目实战(24)--整合Freemarker模版引擎

本文介绍在SpringBoot中整合Freemarker,并使用Freemarker实现从ftl模版页面中读取控制层的变量。

baozhengw的专栏 845

springboot如何使用Freemarker模版引擎

1.Freemarker介绍 Freemarker是三大主流模版引擎之一,与Jsp,Velocity并称“三剑客“。 2.Freemarker集成方案 ①在pom.xml中添加依赖 <!-- freemarker 依赖 --> <dependency> <groupId>org.springframework.boot</groupI...

蔡定努 726

Thymeleaf模版引擎

Thymeleaf是面向Web和独立环境的现代服务器端Java模版引擎,能够处理HTML、XML、JavaScript、CSS甚至纯文本。Thymeleaf旨在提供一个优雅的、高度可维护的创建模版的方式。为了实现这一目标,Thymeleaf建立在自然模版的概念上,将其逻辑注入到模版文件中,不会影响模版设计原型,从而改善了设计的沟通,弥合了设计和开发团队之间的差距。

cuishujian_2003的博客 1178

SpringBoot中使用模版引擎Thymeleaf语法

SpringBoot中使用模版引擎Thymeleaf语法 ​ 以前前端交给我们的页面时 html 然后我们需要转换成jsp页面来实现页面的组装 ,当我们将框架换成springboot 时,springboot推荐我们使用模版引擎 如:Thymeleaf、freemarker等。 第一步我们要在项目中导入jar包: <dependency> <groupId>org.springframework.boot</groupId> <arti

HHW223的博客 377

springboot的两大常用模版:thymeleaf和freemarker

今天学习了springboot的两大常用模版:thymeleaf和freemarker 1、springboot之thymeleaf模板 Thymeleaf的优点:它就是html页面。下面直接上代码 使用步骤: 1.新建modul时勾选Thymeleaf,自动添加相关pom依赖 (我就thymeleaf,freemarker一起用了,不会冲突)   2.配置application.ym...

Soul717的博客 8554

使用模版引擎FreeMarker生成sql脚本

模版引擎FreeMarker生成sql脚本技术说明使用场景实现效果具体实现springboot引入依赖代码实现小结 技术说明 FreeMarker模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件(主要应用于生成HTML,使用过springbo...

weixin_39172079的博客 4593
上一篇: Spring的IOC理解
下一篇: 如何使用开源项目并且快速应用到自己的项目中,来看阿里大牛们的总结!
王同学爱学习
博客等级 码龄11年 55粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值