SpringBoot JSP
1、视图支持:
-
Springboot的默认视图支持是Thymeleaf。
- 这次我们先说Springboot支持 jsp怎么玩。
2、先运行看效果在学习
3、模仿和排错
+ 文档对比工具: diffmerge ,可以直接对比两个文件的不同,并标记出来
+ diffmerge 工具的下载和使用:https://how2j.cn/k/18/18-1583/1583.html
4、首先建立最基础的SpringBoot程序
注意,在创建的时候要选择war包(其它不变)
+ 1、修改成现在的目录
-
2、解释目录:
- 1、controller 跟以前一样
- 2、application.properties 是SpringBoot的配置文件待会要修改
- 3、webapp/WEB-INF/是我们自己创建的
- 4、jsp下面是我们所有jsp要放的位置这和SSM的结构类似
- 2、application.properties 是SpringBoot的配置文件待会要修改
- 1、controller 跟以前一样
-
3、修改我们的pom.xml 文件添加tomcat、servlet、jstl的依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.zwh</groupId> <artifactId>springboot02</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>springboot02</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!-- 部署tomcat,排除冲突--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!-- servlet依賴--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- Tomcat 的支持 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
-
4、判断依赖是否成功(有坑):Ctrl + 【左键】 能点进去就是成功否则不成功
-
5、编写application.properties 配置文件
spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp #可以理解为springmvc的前端控制器的prefix和suffix
-
6、编写controller层
package com.zwh.springboot02.controller; import java.text.DateFormat; import java.util.Date; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping("/hello") public String hello(Model model){ model.addAttribute("now", DateFormat.getDateTimeInstance().format(new Date())); return "hello"; } }
-
7、编写jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> Hello,我学会了SpringBoot 的jsp开发 。 现在时间是 ${now} </body> </html>
-
8、运行项目,得出结果。
-
9、总结:遇到的问题
- 1、mvn install BUILD SUCCESS 之后 jstl 和 tomcat并没有导进去,我用Ctrl + 左键 并不能进去
- 2、解决:点Maven 右键 Reload project 就可以了。
Spring Boot 热部署
在pom文件中加入一个依赖和一个插件就可以了
-
1、依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <!-- 这个需要为 true 热部署才有效 --> </dependency>
-
2、插件
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>