Spring Boot 项目中使用 JSP:

项目结构:需要添加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

引入依赖包

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>

简单写一个页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp welcome</title>
</head>
<body>
Time: ${time}
<br>
Message: ${message}
</body>
</html>

后端程序

@Controller
public class WelcomeController { @GetMapping("/")
public String welcome(Map<String, Object> model) {
model.put("time", new Date());
model.put("message", "hello world");
return "welcome";
} }

打war 在tomcat中运行:
(1)在 pom.xml 里设置打包格式为 war。
<packaging>war</packaging>
(2)排除内嵌的 Tomcat 依赖

打包时排除掉内嵌的 Tomcat 依赖,避免 jar 包冲突。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除内置容器,排除内置容器导出成 war 包可以让外部容器运行spring-boot项目-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

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 即可。

最新文章

  1. 我的第一个WP8.1应用总结
  2. maven学习笔记(基本的命令和概念)
  3. easyui datagrid列中使用tooltip
  4. HDU 3336 (KMP next性质) Count the string
  5. [Uva247][Tarjan求强连通分量][Calling Circles]
  6. Team Services and Team Foundation Server官方资料入口
  7. jae.jd
  8. 挖坑:CF712E
  9. DOM Exception error
  10. 【个人学习笔记】走近H5
  11. C# 通过KD树进行距离最近点的查找.
  12. vue 如何点击按钮返回上一页
  13. wpf binging(五) 数据的转换与验证
  14. vue自定义指令用法总结及案例
  15. java爬虫笔记
  16. Spring MVC基础知识整理➣数据校验与格式化
  17. 转帖: Serverless架构模式简介
  18. 超级wifi
  19. css:在容器内文字超过容器范围,显示一行加省略号或者两行加省略号
  20. 解决IDEA 配置搞坏的问题

热门文章

  1. 原生Js_简易图片轮播模板
  2. Android_(控件)使用ListView显示Android系统中联系人信息
  3. Jmeter设置成中文
  4. 「UVA12293」 Box Game
  5. HNOI2012矿场搭建
  6. linux安装vlc视频播放器
  7. LVS配置
  8. LeetCode 75. 颜色分类(Sort Colors)
  9. cookie、session的联系和区别,多台web服务器如何共享session
  10. Python学习笔记—条件判断和循环