SpringBoot添加webapp实现内外tomcat启动

Spring boot添加webapp

  1. 新建一个springboot的web项目如下

image-20210515220256430

  1. 进入项目结构下

image-20210515220537991

  1. 添加一个web

image-20210515222137074

image-20210515222158141

image-20210515222257067

image-20210515222549952

  1. 默认位置修改放在src/main下面

image-20210515222701873

  1. 重新修改添加web的webapp的位置

image-20210515222814202

image-20210515222954763

  1. 登陆测试下页面可以正常访问不

image-20210515223054727

image-20210515223256353

错误信息如下

Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/login.jsp]

image-20210515221720759

原因参考这个博客

网上查原因spring boot不提倡用jsp,没有内置jsp引擎需要在pom.xml中加入以下依赖就可以了。

<dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
 <!--一般有jstl表达式的jsp都需要,否则jstl表达式会错误,页面无法访问-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
  
  1. 再次测试下

测试依然是404,找不到页面,且没有错误信息。

image-20210515223823225

image-20210515223930677

  1. Springboot项目配置项目所在位置

image-20210515231435168

  1. Spring boot内置tomcat启动成功访问

image-20210515231516630

  1. 用外部的tomcat试下

image-20210515224141096

image-20210515232420558

  1. 不出意外是无法访问的,修改下

把jsp引擎改为provided

<dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

测试效果果然讨厌不行

image-20210515232907305

  1. 再次修改下

一般打war包都需要修改核心启动类如下

@SpringBootApplication
public class SpringBootAddWebappApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringBootAddWebappApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(SpringBootAddWebappApplication.class, args);
    }

}

image-20210515233246848

再次测试下成功访问

image-20210515233313814

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值