Spring Boot 前端使用 JSP

在 pom.xml 文件中配置以下依赖项

<!--引入SpringBoot内嵌Tomcat对jsp的解析依赖,不添加解析不了jsp-->
<!--仅仅只是展示jsp页面,只添加以下一个依赖-->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

<!--如果要使用servlet必须添加以下两个依赖-->
<!--servlet依赖的jar包-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.1</version>
</dependency>

<!--如果要使用JSTL必须添加该依赖-->
<!--jatl标签依赖的jar包start-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

在 pom.xml 的 build 标签中要配置以下信息

SpringBoot 要求 jsp 文件必须编译到指定的 META-INF/resources 目录下才能访问,否则访问不到。其实官方已经更建议使用模板技术(后面会讲模板技术)

<build>
    <!--
       Springboot项目默认推荐使用的前端引擎是thymeleaf
       现在我们要使用springboot集成jsp,手动指定jsp最后编译的路径
       而且springboot集成jsp编译jsp的路径是springboot规定好的位置
       META-INF/resources
   -->
    <resources>
        <resource>
            <!--源文件位置-->
            <directory>src/main/webapp</directory>
            <!--指定编译到META-INF/resources,该目录不能随便写-->
            <targetPath>META-INF/resources</targetPath>
            <!--指定源文件夹中的哪个资源要编译进行 **表示webapp目录及子目录,*.*表示所文件-->
            <includes>
                <include>**/*.*</include>
            </includes>
        </resource>
    </resources>

在 application.properties 文件配置 Spring MVC 的视图展示为jsp,这里相当于 Spring MVC 的配置

#配置SpringMvc视图解析器
#其中:/表示目录为src/main/webapp
#前缀
spring.mvc.view.prefix=/
#后缀
spring.mvc.view.suffix=.jsp  

集成完毕之后,剩下的步骤和我们使用 Spring MVC 一样
application.yml 格式的配置文件
在这里插入图片描述

在 com.loey.web包下创建 JspController 类,并编写代码

@Controller
public class JspController {

    @RequestMapping(value="/jsp")
    public String jsp(Model model){
        model.addAttribute("data","SpringBoot前端Model使用JSP页面");

        return "index";//返回到jsp页面的名称
    }

    @RequestMapping(value="/jsp1")
    public ModelAndView jsp1(){
        ModelAndView mv = new ModelAndView();
        mv.addObject("data","SpringBoot前端ModelAndView使用JSP页面");
        mv.setViewName("index");

        return mv;
    }
}

在 src/main 下创建一个 webapp 目录,然后在该目录下新建index.jsp 页面
如果在webapp目录下右键,没有创建jsp的选项,可以在Project Structure中指定webapp为 Web Resource Directory
在这里插入图片描述
在这里插入图片描述

在 jsp 中获取 Controller 传递过来的数据

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>SpringBoot的JSP</title>
</head>
<body>
<h1>${data}</h1>
</body>
</html>

重新运行 Application,通过浏览器访问测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值