本篇内容介绍了“SpringBoot如何在项目中使用JSP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
对比以前的项目结构 main 目录下多了 webapp 目录,用来存放目录 jsp 文件。
spring-boot-jsp +-src +- main +- java +- resources +- webapp +- WEB-INF +- jsp +- welcome.jsp +- test +-pom.xml
spring.mvc.view.prefix: /WEB-INF/jsp/ spring.mvc.view.suffix: .jsp
spring-boot-starter-web 包依赖了 spring-boot-starter-tomcat 不需要再单独配置
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency>
<!DOCTYPE html> <html lang="en"> <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"; } }
cd 进入项目根目录下
cd ...\spring-boot-jsp
执行以下启动命令
mvn clean spring-boot:run
启动完成后,在浏览器访问 http://localhost:8080/
Time: Sat Aug 11 13:26:35 CST 2018 Message: hello world
如果像其他项目一样,直接在 IDEA 中通过 main 方法来启动项目,在访问测试的时候会出现 404 not found。
这是因为 Spring Boot JSP 项目需要额外进行一个设置:选择 Edit Configurations 选项,打开 Run/Debug Configurations:
设置 Working directory 的路径为项目根路径:
然后重启项目就可以正常的访问到页面内了。
在 pom.xml 里设置打包格式为 war。
<packaging>war</packaging>
排除内嵌的 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
Spring Boot 支持使用内嵌的 Tomcat 来运行 JSP; 也支持将项目打包成 War 包部署到独立的 Tomcat 中。实际项目中推荐使用单独的 Tomcat 来部署使用 JSP 的项目,内嵌的 Tomcat 还不是很稳定,偶尔会出现访问迟缓的现象
“SpringBoot如何在项目中使用JSP”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。