上海网站建设网络推广,卓伊科技网站建设,上海市人才服务中心官网,app开发 杭州【README】
本文旨在记录idea部署springboot项目到外部tomcat的步骤#xff1b;
第一次部署会踩很多坑儿#xff0c;多查google#xff0c;多重试#xff1b;
第一次部署#xff0c;不建议手动录入依赖#xff0c;因为有可能遗漏#xff1b;而且网络上资料很多但也很…【README】
本文旨在记录idea部署springboot项目到外部tomcat的步骤
第一次部署会踩很多坑儿多查google多重试
第一次部署不建议手动录入依赖因为有可能遗漏而且网络上资料很多但也很乱很容易出错和掉坑儿里 【1】创建项目 【2】 引入 spring web相关依赖
1选择依赖 点击finish
2项目pom
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.5/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.cmc/groupIdartifactIdspringbt-04-web-jsp2/artifactIdversion0.0.1-SNAPSHOT/versionpackagingwar/packagingnamespringbt-04-web-jsp2/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdscopeprovided/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project使用外部tomcat而不是内嵌tomcat的方式有两种 官方文档推荐的就是上面这一种 provided
官方文档参见 “How-to” Guides
3整体目录结构 【3】创建web.xml设置根路径
1进入 项目结构页面的module页面 快捷键 ctrlaltshifts 2 创建web根目录 src\main\webapp 双击创建 3 创建web.xml文件
根目录D:\workbench_idea\spring-bucket\springboot\springbt-04-web-jsp2\src\main\webapp下WEB-INF下创建web.xml 文件 注意 路径不要写错了
4创建完成后的效果 【4】配置外部tomcat这个简单
1进入配置页面 2添加tomcat 【5】部署springboot项目到外部tomcat
1进入部署页面 2选择 exploded web制品库 【6】编写web页面和controller
1编写web页面
hello.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitlehello/title
/head
bodyh1hello world./h1
/body
/html
2启动tomcat查看访问效果 3添加 controller
3.1MyController
package com.cmc.springbt.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;Controller
public class MyController {GetMapping(/aaa)public String hello(Model model) {System.out.println(hello aaa);model.addAttribute(msg, hello aaa);return success;}
}3.2修改hello.jsp
bodyh1hello world./h1a hrefaaaaaa/a
/body
3.3添加 WEB-INF\success.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitlesuccess/title
/head
bodyh1SUCCESS/h1h1${msg}/h1
/body
/html
添加视图前后缀
application.properties
# 设置视图路径前后缀
spring.mvc.view.prefix/WEB-INF/
spring.mvc.view.suffix.jsp
# 设置应用访问根路径
server.servlet.context-path/springbt_04_web_jsp2
3.4目录结构 3.5访问效果 4springboot启动主程序
Springbt04WebJsp2Application
public class Springbt04WebJsp2Application {public static void main(String[] args) {SpringApplication.run(Springbt04WebJsp2Application.class, args);}}
ServletInitializer
public class ServletInitializer extends SpringBootServletInitializer {Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(Springbt04WebJsp2Application.class);}
} 【7】小结
step1必须创建一个 war项目
step2将嵌入式的tomcat设置为provided表示 不打入 war包
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdscopeprovided/scope/dependency
step3必须编写一个 SpringBootServletInitializer 实现类 目的调用 configure方法
public class ServletInitializer extends SpringBootServletInitializer {Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {// 传入springboot应用主程序return application.sources(Springbt04WebJsp2Application.class);}
} step4启动tomcat即可