昨天说过,springboot推荐使用Thymeleaf作为前后端渲染的模板引擎,为什么推荐用Thymeleaf呢,有以下几个原因:
- 动静结合:Thymeleaf支持HTML原型,允许在HTML标签中增加额外的属性来实现模板与数据的结合。这样,前端美工可以在浏览器中查看页面的静态效果,而后台开发人员则可以查看数据返回到页面后的动态效果。这种动静结合的特性使得开发和调试过程更加便捷。
- 开箱即用:Thymeleaf提供了标准和Spring标准两种方言,可以直接套用模板实现JSTL、OGNL表达式效果。这意味着开发人员无需每天重复编写模板、修改JSTL或标签,从而提高了开发效率。同时,开发人员还可以扩展和创建自定义的方言,以满足特定的需求。
- 与Spring MVC完美集成:Thymeleaf与Spring MVC的集成非常完善,可以快速实现表单绑定、属性编辑器、国际化等功能。这使得在Spring Boot项目中使用Thymeleaf时,可以更加轻松地实现前后端的交互和数据的展示。
- 安全性:Thymeleaf在处理模板时,能够有效地防止一些常见的Web安全问题,如跨站脚本攻击(XSS)等。它通过转义机制来确保用户输入的数据在输出到页面时不会被误解为HTML或JavaScript代码,从而提高了应用的安全性。
- 易于扩展和维护:Thymeleaf的模板语法简洁易懂,易于学习和使用。同时,它还提供了丰富的API和工具类,方便开发人员进行扩展和定制。这使得在后期维护和升级过程中,可以更加轻松地修改和优化模板代码。
不过很多项目还是用了jsp技术,那么怎么将传统的使用了jsp技术的java web项目转换为springboot项目呢?
首先,访问https://start.spring.io/
创建一个springboot项目
下面再进行改造项目的配置:
- 1. 添加依赖
在你的pom.xml
文件中添加以下依赖:
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>
- 2. 配置application.properties
在src/main/resources
目录下的application.properties
文件中添加以下配置:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
- 3. 创建JSP文件
在src/main/webapp/WEB-INF/jsp
目录下创建一个名为index.jsp
的文件,并添加以下内容:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Spring Boot JSP Example</title>
</head>
<body><h1>Hello, Spring Boot JSP!</h1>
</body>
</html>
- 4. 创建Controller
在项目中创建一个名为IndexController
的Java类,并添加以下内容:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;@Controller
public class IndexController {@GetMapping("/")public String index() {return "index";}
}
- 5. 运行项目
运行你的Spring Boot项目,然后在浏览器中访问http://localhost:8080
,界面应该能看到"Hello, Spring Boot JSP!"的输出。
最后,再将你的jsp页面迁移,Servlet改造成@Controller就可以了。