Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Tomcat部署时war和war exploded区别以及平时踩得坑

Tomcat部署时war和war exploded区别以及平时踩得坑

原创
作者头像
Java高级攻城狮
修改于 2019-04-30 01:34:23
修改于 2019-04-30 01:34:23
4K00
代码可运行
举报
运行总次数:0
代码可运行

一、war和war exploded的区别

在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况:

是选择war还是war exploded 这里首先看一下他们两个的区别:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;

(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;

(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

修改箭头指向的位置,这样的话就可以实现热部署。

、使用war模式开发的时候遇到的坑

2.1、项目代码的位置如下:

上述项目为SSM项目。

2.2、部署使用的Tomcat位置:

2.3、用于获取上下文环境绝对路径的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String contextPath =
 request.getSession().getServletContext().getRealPath("/");

2.4、两种方式的实验过程和结果:

(1)在使用war模式开发的时候,通过下边这段代码获取项目的相对路径:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String contextPath =
 request.getSession().getServletContext().getRealPath("/");

war模式始终是获取到的路径如下:

其中C:Softwareapache-tomcat-8.0.32 是我Tomcat的所在位置。

可以看出通过war模式是最终打包部署到Tomcat的位置。

(2)然后再看war exploded模式,同样进行设置,运行同一段代码,运行结果如下:

可以看出最终得到的是我这个项目的位置,其实就是这个项目target的位置。

三、总结

根据上述(1)(2)的实验结果可以看到这两种方式得部署方式是不一样的,因此在获取项目的相对路径的时候得到的结果是不一样的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
java无法获取服务器上路径,JAVA获取服务器路径的步骤
ServletContext sc = (ServletContext)FacesContext.
全栈程序员站长
2022/09/15
2.2K0
java获取服务器路径_JAVA获取服务器路径的方法「建议收藏」
request.getSession().getServletContext().getRealPath(request.getRequestURI())
全栈程序员站长
2022/09/14
3.1K0
idea——Tomcat拓展
chao超的搬运文章
2023/10/15
2350
idea——Tomcat拓展
得到JAVA项目根文件夹
说明:相对路径(这并不说明什么时候相对谁)可以通过以下来获得(无论是一般java项目或web工程)
全栈程序员站长
2022/07/06
6310
request中的方法_requests发送get请求
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
1.4K0
Tomcat配置图片等附件保存路径
图片等附件在项目路径下,存在重新部署附件丢失的情况,为了保证图片等附件的安全性,单独配置图片等附件的保存路径和URL访问路径是可行的方案。
飞狗
2019/10/08
1.4K0
SpringMVC 实现文件上传
springmvc文件上传 SpringMVC框架提供了MultipartFile对象,该对象表示上传的文件,要求变量名称必须和表单file标签的name属性名称相同。 在springmvc.xml配置文件解析器对象
暴躁的程序猿
2022/03/23
7420
Java文件路径/服务器路径的获取
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157583.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
5K0
request.getRealPath_java response
request.getSession().getServletContext().getRealPath()
全栈程序员站长
2022/11/04
3490
Idea中的war和war explore有什么区别
war模式:先打成war包,然后再发布到Tomcat的ROOT下,所以选择这个后,你再看下你的tomcat的root文件夹下,是刚打成的项目
全栈程序员站长
2022/07/01
1.1K0
java如何获取服务器路径
说明: contextPath =”/项目名称”; //获取的是项目的相对路径 realPath = F:\tomcat_home\webapps\项目名称\ //获取的是项目的绝对路径 basePath = http://localhost:8080/项目名称/ //获取的是服务的访问地址
全栈程序员站长
2022/09/18
2.4K0
java如何获取服务器路径
Tomcat,eclipse热部署的三种方式
热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效。但是对配置文件的修改除外!
ydymz
2018/09/10
1.4K0
php getrealpath,java_java 获取路径的各种方法(总结),(1)、request.getRealPath(“/”);//不推 – phpStudy…
(1)、request.getRealPath(“/”);//不推荐使用获取工程的根路径
全栈程序员站长
2022/11/04
6300
相对路径和绝对路径的区别
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个 URL绝对路径。 相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在 Servlet中,"/"代表Web应用的根目录。和物理路径的相对表示,例如:"./" 代表当前目录, "../"代表上级目录。这种类似的表示,也是属于相对路径。
狼啸风云
2020/07/06
6.8K0
JavaWeb day5 Tomcat配置及用idea创建Maven-Tomcat项目
Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。
小小程序员
2023/02/24
8780
JavaWeb day5 Tomcat配置及用idea创建Maven-Tomcat项目
JavaWeb day5 Tomcat配置及idea创建Maven-Tomcat项目
Web服务器是一个应用程序(==软件==),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。
小小程序员
2023/02/17
1.2K0
JavaWeb day5 Tomcat配置及idea创建Maven-Tomcat项目
Springboot整合RabbitMQ详细讲解
注意:通过监听触发的这个方法中,根据注入的request对象获取项目的根路径时异常。
全栈程序员站长
2022/08/28
3880
Springboot整合RabbitMQ详细讲解
Tomcat 下载安装教程
bin:目录下有两类文件,一种是以.bat结尾的,是Windows系统的可执行文件,一种是以.sh结尾的,是Linux系统的可执行文件。
全栈程序员站长
2022/08/31
1.3K0
Tomcat 下载安装教程
9-web服务器软件概述+Tomcat
服务器软件的一种,在web服务器软件中,可以部署web项目,让用户通过浏览器访问项目,又被称为web容器
Ywrby
2022/10/27
9210
servlet和jsp的区别_获取servletcontext
String filename=request.getRealPath(filename)
全栈程序员站长
2022/10/02
1.4K0
相关推荐
java无法获取服务器上路径,JAVA获取服务器路径的步骤
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档