SpringBoot可以打包为war或jar文件,一两种方式发布应用
打包为war包pom.xml
在pom.xml文件中配置内嵌Tomcat对jsp的解析包,并指定将jsp编译到指定目录
org.apache.tomcat.embed
tomcat-embed-jasper
org.apache.tomcat
tomcat-jsp-api
src/main/webapp
META-INF/resources
***.xml
src/main/resources
***.*
src/main/java
***.*
新建webapp,在Project Structure中将其设置为web项目的根目录
新建index.jsp
application.properties
server.port=8081 server.servlet.context-path=/myboot spring.mvc.view.prefix=/ spring.mvc.view.suffix=.jsp
指定打包后的名字build标签中
boot-jar
打包为jar有jsp文件时需要指定该插件版本为1.4.2RELEASE
org.springframework.boot spring-boot-maven-plugin1.4.2.RELEASE
打包
在其所在目录,以命令行的方式执行命令
java -jar xxx.jar
启动项目
当需要在Linux系统上部署项目,可以使用命令java -jar springbooot-xxx.jar
可以将该命令封装到一个Linux的一个shell脚本中(run.sh和myboot.jar在同一个目录中)
#!/bin/sh
java -jar xxx.jar
赋权限 chmod 777 run.sh
启动shell脚本:./run.sh
jar和war的区别war:占用资源多,可以充分利用服务器
jar:可以独立运行(内嵌Tomcat),部署方便,性能较差
Thymeleaf模板引擎Thymeleaf是一个流行的模板引擎,改模板引擎采用Java语言开发
Thymeleaf对网络环境不存在严格的要求,既能用于Web环境下,也能用于非Web环境下。在非Web环境下,他能直接显示模板上的静态数据;在Web环境下,它能向Jsp一样从后台接收数据并替换掉模板上的静态数据。它是基于HTML的,以HTML标签为载体。Thymeleaf要寄托在HTML标签下实现。
SpringBoot集成了Thymeleaf模板技术,并且SpringBoot官方也推荐使用Thymeleaf来替代JSP技术,Thymeleaf是另外的一种模板技术,它本身并不属于SpringBoot,SpringBoot只是很好的集成这种模板技术,作为前端页面的数据展示,在过去的Java Web开发中,我们往往会选择使用Jsp去完成页面的动态渲染,但是jsp需要翻译编译执行,效率低
Thymeleaf官方使用手册 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.pdf
第一个例子新建项目,添加Web和Thymeleaf依赖
编写Controller
编写hello.html,在templates目录下
没有向域中放入data时能正常显示p标签中的内容
有时显示如下
常用设置#禁用缓存(开发阶段使修改立即生效,看效果) spring.thymeleaf.cache=false #编码方式 spring.thymeleaf.encoding=utf-8 #模板的类型(默认HTML) spring.thymeleaf.mode=HTML #模板的前缀,默认在类路径下的templates下 spring.thymeleaf.prefix=classpath:/templates/ #后缀(默认值) spring.thymeleaf.suffix=.html表达式
表达式是在页面获取数据的一种thymeleaf语法,类似${key}
标准变量表达式注意:th:text=" "是Thymeleaf的一个属性,用于文本显示
语法:${key}
说明:标准表达式用于访问tomcat容器上下文环境中的变量,获取的是request作用域中的数据
没有对应key的值时只是不显示,不报错
选择变量表达式语法:*{key}
说明:需要配合th:object一起使用,th:object属性来绑定对象,然后用*来代表这个对象,后面{}中的值是此对象中的属性。
链接表达式语法:@{url}
说明:主要用于链接,地址的展示
Thymeleaf属性 th:action属性是放在html元素中的,就是html元素的属性,加入了th前缀,作用不变
定义后台控制器的路径,类似



