springboot的jsp应该放在哪_SpringBoot 在项目中使用JSP
1. 添加JSP支持之后的项目结构对比以前的项目结构 main 目录下多了 webapp 目录,用来存放目录 jsp 文件。spring-boot-jsp+-src+- main+- java+- resources+- webapp+- WEB-INF+- jsp+- welcome.jsp+- test+-pom.xml2. 需要在配置文件中指定 jsp 的位置和后缀spring.mvc.vi
1. 添加JSP支持之后的项目结构
对比以前的项目结构 main 目录下多了 webapp 目录,用来存放目录 jsp 文件。
spring-boot-jsp
+-src
+- main
+- java
+- resources
+- webapp
+- WEB-INF
+- jsp
+- welcome.jsp
+- test
+-pom.xml
2. 需要在配置文件中指定 jsp 的位置和后缀
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
3. 引入POM依赖
spring-boot-starter-web 包依赖了 spring-boot-starter-tomcat 不需要再单独配置
org.springframework.boot
spring-boot-starter-web
javax.servlet
jstl
org.apache.tomcat.embed
tomcat-embed-jasper
4. 编写jsp页面
Time: ${time}
Message: ${message}
5. 编写后台代码
@Controller
public class WelcomeController {
@GetMapping("/")
public String welcome(Map model) {
model.put("time", new Date());
model.put("message", "hello world");
return "welcome";
}
}
6. 启动并访问页面
cd 进入项目根目录下
cd ...\spring-boot-jsp
执行以下启动命令
mvn clean spring-boot:run
Time: Sat Aug 11 13:26:35 CST 2018
Message: hello world
7. 调试和部署
如果像其他项目一样,直接在 IDEA 中通过 main 方法来启动项目,在访问测试的时候会出现 404 not found。
这是因为 Spring Boot JSP 项目需要额外进行一个设置:选择 Edit Configurations 选项,打开 Run/Debug Configurations:
设置 Working directory 的路径为项目根路径:
然后重启项目就可以正常的访问到页面内了。
在单独的tomcat中运行
在 pom.xml 里设置打包格式为 war。
war
排除内嵌的 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
8. 总结
Spring Boot 支持使用内嵌的 Tomcat 来运行 JSP; 也支持将项目打包成 War 包部署到独立的 Tomcat 中。实际项目中推荐使用单独的 Tomcat 来部署使用 JSP 的项目,内嵌的 Tomcat 还不是很稳定,偶尔会出现访问迟缓的现象
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)