从零开始学SpringBoot2.x(05-SpringBoot整合视图技术:JSP篇)

对于JSP相信大家都不陌生,无论是在学校学习,还是工作中,多多少少都会接触到一些,那么如何在SpringBoot应用中使用JSP模板呢?Easy~

首先,我们在pom文件中添加web依赖及jsp支持,如下:
 

  <dependencies>
        <!-- web组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 添加jsp依赖支持 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

其次,我们来到SpringBoot配置文件application.yml中添加视图解析器的前缀和后缀,如下:

spring:  mvc:    view:      prefix: /WEB-INF/page/ #配置视图解析的前缀      suffix: .jsp #配置视图解析的后缀server:  port: 80

这里可以看到,我配置的视图解析器的前缀为/WEB-INF/page/,我们在与resources同级目录下创建webapp目录,然后在webapp下创建/WEB-INF/page/目录,最终目录结构如下图所示:

接着编写我们的测试控制器,其内容如下:


/**
 * @Description JSP测试控制器
 * @Auther: 笑笑
 * @Date: 14:38 2019/10/26
 */
@Controller
public class JspTestController {

    private static final String INDEX_PAGE = "index";

    /**
     * 首页跳转测试
     * @param model
     * @return
     */
    @GetMapping(value = "/index")
    public String index(Model model){
        model.addAttribute("jsp","Hello Jsp!");
        return INDEX_PAGE;
    }
}

index.jsp中的内容很简单,使用EL表达式把我们放入Model域对象中的数据取出来,如下:​​​​​​​

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>JSP 测试</title></head><body><%-- 使用EL表达式取值 --%>${jsp}</body></html>

最后启动我们的应用程序,由于我配置了80端口,浏览器访问http://localhost/index,结果如下:

可以看到,我们的JSP页面访问成功!是不是很简单呢~

虽然我们的JSP页面成功被访问,但无论是SpringBoot官方还是我(这样放一起,顿时感觉自己好牛逼!)都不建议大家使用JSP模板,因为JSP的本质其实是一个servlet(Java类),它先要经过转译和编译的步骤,才能输出页面的内容,速度上有所欠缺,但一些传统的项目还在使用,所以也有学习的必要~

 

你还在等什么,赶紧动手尝试一下吧!

 

源码地址:

https://github.com/devilyang123/SpringBoot-Learning/tree/master/springboot-jsp

 


欢迎关注我的个人公众号“笑笑是一个码农”,第一时间获取最新文章。

您的关注,就是支持我持续写作的最大动力!

还可以免费领取前后端全站学习视频资料呦~

个人微信号,如需添加微信,请备注来源,因为妈妈从小就告诉我不要随便跟陌生人聊天!(嘿嘿~)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章