SpringBoot如何在项目中使用JSP

本篇内容介绍了“SpringBoot如何在项目中使用JSP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站是专业的塔什库尔干塔吉克网站建设公司,塔什库尔干塔吉克接单;提供成都网站制作、成都网站设计、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行塔什库尔干塔吉克网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

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 不需要再单独配置

<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>

4. 编写jsp页面

<!DOCTYPE html>
<html lang="en">

<body>
    Time:  ${time}
    <br>
    Message: ${message}
</body>

</html>

5. 编写后台代码

@Controller
public class WelcomeController {

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

}

6. 启动并访问页面

  • 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

7. 调试和部署

  • 如果像其他项目一样,直接在 IDEA 中通过 main 方法来启动项目,在访问测试的时候会出现 404 not found。 SpringBoot如何在项目中使用JSP

  • 这是因为 Spring Boot JSP 项目需要额外进行一个设置:选择 Edit Configurations 选项,打开 Run/Debug Configurations:

SpringBoot如何在项目中使用JSP

  • 设置 Working directory 的路径为项目根路径: SpringBoot如何在项目中使用JSP

然后重启项目就可以正常的访问到页面内了。

在单独的tomcat中运行
  • 在 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

8. 总结

Spring Boot 支持使用内嵌的 Tomcat 来运行 JSP; 也支持将项目打包成 War 包部署到独立的 Tomcat 中。实际项目中推荐使用单独的 Tomcat 来部署使用 JSP 的项目,内嵌的 Tomcat 还不是很稳定,偶尔会出现访问迟缓的现象

“SpringBoot如何在项目中使用JSP”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!

新闻名称:SpringBoot如何在项目中使用JSP
分享链接:https://www.cdcxhl.com/article0/jiccio.html

成都网站建设公司_创新互联,为您提供域名注册网站营销手机网站建设网站建设面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设