让spring boot支持jsp(亲测有效,别看广告看疗效)

前言

话说,Spring Boot官方不建议使用jsp,更多提倡使用模板,所以在resource下有个template文件夹。

回归正题,笔者最开始也是到处百度,但都是不是不全就是不能解决问题,启动始终404或500

终于在stackoverflow上一个采纳回答给了笔者灵感

并对网上的资料进行整理和亲测,并整理出八步,按照步骤来绝对能解决你的困惑(全网最全且最管用),相信我!

环境:IDEA + Spring Boot + Maven + Jsp

转载请标记出处:https://blog.csdn.net/double7z/article/details/83721505

一、pom.xml需要引入依赖

注意:使用Idea工具 tomcat.embed这个依赖的provided需要注释,eclipse不需要注释 

        <!-- 使用 jsp 必要依赖 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--<scope>provided</scope>-->
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>3.0-alpha-1</version>
            <!--<scope>provided</scope>-->
        </dependency>

二、创建Controller

//注意:需要使用Controller
@Controller
public class JspController {
    @RequestMapping("/helloJsp")
    public String helloJsp(Map<String, Object> map) {
        System.out.println("Hello,JSP");
        return "index";
    }
}

以上都是铺垫,下边才是重点

三、application配置

properties

# 页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/views/
# 响应页面默认后缀
spring.mvc.view.suffix=.jsp

yml

spring:
  mvc:
    view:
      prefix: /WEB_INF/views/
      suffix: .jsp

四、增加web

1.(idea工具的项目结构位置)File>>Project Structure 然后点击左侧Modules,再点击上方绿色加号增加Web

这时确定后,会发现左侧项目结构里会出现一个web的文件夹

接下来把这个web文件夹挪到 src/main下,同resources同级,并且重新命名为webapp,如下图结构

为什么需要重新命名?这个是能否启动的重要原因,请查看Maven官方结构。如果不重名启动时会找不到jsp位置(笔者亲测)

五、修改web位置

根据下图把路径修改为指向刚才修改的webapp文件夹

六、创建jsp页面

自行在webapp/WEB_INF/views/  下创建jsp页面,命名 index.jsp(和以上目录配置对应,老手可快速略过)

七、启动

直接Application或使用maven命令 mvn spring-boot:run

查了很多资料说只能使用spring boot run启动,但是经过笔者多次试验,按照以上方法,完全可以直接application启动

多个module时可配置application参数 $MODULE_WORKING_DIR$(有时间可自测),见下图:

八、见证奇迹

访问 http://localhost:8080/helloJsp

欢迎留言评论,笔者会耐心解答并给予帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值