springboot学习笔记(一) 从零搭建web项目并使用外部jetty容器启动

idea版本_ 2018.3_
springboot版本_ 2.2.0_
jetty版本_ jetty-distribution-9.4.21.v20190926_

1 项目搭建

1 新建一个Spring Initializr项目
2 填写项目名
3 选择web 勾选Spring Web 版本选择 2.2.0
4 新建的项目的目录结构如下
我的项目名 fileupload

5 直接点击FileuploadApplication类中的main启动,会使用内置的tomcat启动,此时访问127.0.0.1:8080会返回 Whitelabel Error Page,因为没有controller
在这里插入图片描述
在这里插入图片描述
6 配置一个简单的controller,FileuploadApplication类同级目录下创建controller包,配置一个最简单的controller,重启项目后可以拿到结果 “hello”
在这里插入图片描述
在这里插入图片描述
6 我们习惯路径加上项目名 127.0.0.1:8080/fileupload 这种
将原本的resources目录下的application.properties文件改名为 application.yml
添加以下配置后重启 就必须用 127.0.0.1:8080/fileupload 访问
在这里插入图片描述

2 打war包

1 在Terminal窗口使用 mvn clean package 命令打包 发现生成的是jar包 而且jar包有17137kb 而且生成了一个 .original 结尾的文件
在这里插入图片描述
在这里插入图片描述
2 我们修改几个pom.xml配置
添加 war
build中添加 fileupload
build中注释掉 spring-boot-maven-plugin
 添加 war
build中
3 此时再执行 mvn clean package 可以拿到 fileupload.war包
在这里插入图片描述

3 发布

1 使用jetty最新的版本jetty-distribution-9.4.21.v20190926
2 将刚才生成的war包复制到 jetty目录下的webapps, 然后执行 java -jar start.jar 启动容器
在这里插入图片描述
3 直接报错 java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype ,这个是因为容器跟内置的 tomcat jar包的冲突
直接在pom.xml中去掉tomcat依赖,引入jetty,然后重新用 mvn clean package命令打包 并复制到jetty 重新发布
在这里插入图片描述
4 部署没有报错 访问出现页面 但是无法得到我们的hello那个结果
页面中的 WEB-INF和 META-INF点击会报错404
在这里插入图片描述
在这里插入图片描述
5 回到项目的FileuploadApplication 类中 让它继承 SpringBootServletInitializer 重写configure 方法
在这里插入图片描述
6 重新打包部署 拿到正确的结果 hello
在这里插入图片描述
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值