项目结构:需要添加webapp文件夹用来存放目录 jsp 文件
spring-boot-jsp
+-src
+- main
+- java
+- resources
+- webapp
+- WEB-INF
+- jsp
+- welcome.jsp
+- test
+-pom.xml
在配置文件application.properties中指定 jsp 的位置和后缀。
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
引入依赖包
javax.servlet
jstl
org.apache.tomcat.embed
tomcat-embed-jasper
简单写一个页面
Time: ${time}
Message: ${message}
后端程
@Controller
public class WelcomeController {
@GetMapping("/")
public String welcome(Map model) {
model.put("time", new Date());
model.put("message", "hello world");
return "welcome";
}
}
打war 在tomcat中运行:
(1)在 pom.xml 里设置打包格式为 war。
war
(2)排除内嵌的 Tomcat 依赖
打包时排除掉内嵌的 Tomcat 依赖,避免 jar 包冲突。
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
Servlet 的支持:
Spring Boot 项目必须实现 SpringBootServletInitializer 接口的 configure() 方法才能让外部容器运行 Spring Boot 项目,启动类同目录下创建 ServletInitializer 类:
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(JspApplication.class);
}
}
打包发布,在项目根目录执行 maven 命令:
mvn clean package
将 war 包发布到 Tomcat 即可。
(责任编辑:范老师)