Spring Boot 外置Tomcat
首先,我们都知道可以Spring Boot可以内置Tomcat,但是如何外置Tomcat呢
引入Tomcat
- 在IDEA中
Edit Configuration
中引入Tomcat 并进行配置。进入Deployment的tab下点+
选择第一个 - 在目录中我们没有发现传统Tomcat的webapp目录,需要手动创建
- 进入project structure中
- 创建
WEB-INF\web.xml
- 进入project structure中
Spring Boot到Tomcat的路径映射
- Spring Boot的view都存放在
resources/static
以及resources/template
。因此,当我们在Controller
中返回html或者jsp时,就会访问template
目录。 - 但是Tomcat的需要访问webapp下的文件
- 在webapp下创建
index.jsp
作为入口 - 在
resources/static
下创建css/style.css
作为全局css。在index.jsp
引入。IDEA会非常只能提示你可以访问到static下的css文件。
- 在webapp下创建
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<html>
<head>
<link rel="stylesheet" href="css/style.css">
<title>Title</title>
</head>
<body>
<h1>index.jsp</h1>
</body>
</html>
- 其他在webapp下的jsp文件如何访问呢?在application.yml下配置,添加
spring:
mvc:
view:
prefix: /WEB-INF/pages/
suffix: .jsp
- 在webapp/WEB-INF下创建pages目录,并创建userlist.jsp
@Controller
public class DemoController {
@RequestMapping("userlist")
public String userlist(){
return "userlist";
}
}
内外置切换
@Configuration
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}