首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
idea——Tomcat拓展
chao超的搬运文章
2023/10/15
2450
idea——Tomcat拓展
Springboot整合RabbitMQ详细讲解
注意:通过监听触发的这个方法中,根据注入的request对象获取项目的根路径时异常。
全栈程序员站长
2022/08/28
4030
Springboot整合RabbitMQ详细讲解
Servlet基础——快速了解什么是Servlet
来源 | 为知笔记| 作者 | 水之笔记 一、什么是servlet servlet是在服务器端运行的一个小程序。一个servlet就是一个java类,并且可以通过“请求-响应”编程模型来访问的这个驻留
Tanyboye
2018/07/02
6240
java获取服务器路径_JAVA获取服务器路径的方法「建议收藏」
request.getSession().getServletContext().getRealPath(request.getRequestURI())
全栈程序员站长
2022/09/14
3.2K0
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
6590
Tomcat配置图片等附件保存路径
图片等附件在项目路径下,存在重新部署附件丢失的情况,为了保证图片等附件的安全性,单独配置图片等附件的保存路径和URL访问路径是可行的方案。
飞狗
2019/10/08
1.4K0
request.getRealPath_java response
request.getSession().getServletContext().getRealPath()
全栈程序员站长
2022/11/04
3650
Java Web学习总结(八)——HttpServletResponse对象(二)
请求重定向指:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。
Java团长
2018/08/03
8490
Tomcat 的使用及原理分析(IDEA版)
之前我们的角色是用户,将来我们的角色内容提供者,让别人通过浏览器来访问我们写的项目。
wsuo
2020/07/31
1.7K0
Tomcat 的使用及原理分析(IDEA版)
JavaWeb day5 Tomcat配置及用idea创建Maven-Tomcat项目
Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。
小小程序员
2023/02/24
9170
JavaWeb day5 Tomcat配置及用idea创建Maven-Tomcat项目
【Java Web_10】Servlet
一、Tomcat 1. 概述 ① JavaEE Java在企业级开发中使用的技术规范的总和,一共规定了13项规范 ② 常见的web服务器 * webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。 * webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。 * JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。 * Tomcat:Apache
用户8250147
2021/02/04
4550
【Java Web_10】Servlet
intellij idea tomcat热部署配置1.设置Debugger-HotSwap2.项目设置3.配置tomcat
在setting界面,打开Debugger-HotSwap选项,确保勾选了Build project before reloading classes,同时选择Reload classes after compilation为Always。这样我们在编译某个修改了的java文件之后,就会利用HotSwap机制reload class,而Build project before reloading classes就确保了其他修改过的文件一起同步到部署目录。
JavaEdge
2018/08/02
1.5K0
intellij idea tomcat热部署配置1.设置Debugger-HotSwap2.项目设置3.配置tomcat
JavaWeb(七)之详解JavaWeb路径
前言   在我们的实际开发中,经常要写路径,不管是链接,重定向还是转发,这都是需要路径的。那这一篇我给大家详细的分享一下Web中的各种路径问题。   世界上一切东西都是相对的,对于这点而言,相信大家并不陌生,由于这篇文章是针对于WEB阶段来讲的,所以以下绝对路径和相对路径都是针对于整个互联网而言的。   在JavaWeb中需要写的路径大概分为四大类:     1)客户端路径       超链接、表单、重定向     2)服务端路径       转发、包含     3)获取资源路径       servlet
用户1195962
2018/01/18
2K0
JavaWeb(七)之详解JavaWeb路径
Tomcat 下载安装教程
bin:目录下有两类文件,一种是以.bat结尾的,是Windows系统的可执行文件,一种是以.sh结尾的,是Linux系统的可执行文件。
全栈程序员站长
2022/08/31
1.4K0
Tomcat 下载安装教程
Tomcat入门
1、JavaWeb概念 Java web,是用java技术来解决相关web互联网领域的技术的总称。web包括:web服务器和web客户端两部分。 java在最早web客户端的应用有java applet程序,不过这种技术在很久之前就已经被淘汰了。java在服务器端的应用非常丰富, 比如Servlet,jsp和第三方框架等等。java技术对web领域的发展注入了强大的动力 简单的说,就是使用java语言实现浏览器可以访问的程序内容。称之为Java Web。 javaweb开发是基于请求和响应的:
互联网金融打杂
2018/04/03
1.9K0
Tomcat入门
相对路径和绝对路径的区别
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个 URL绝对路径。 相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在 Servlet中,"/"代表Web应用的根目录。和物理路径的相对表示,例如:"./" 代表当前目录, "../"代表上级目录。这种类似的表示,也是属于相对路径。
狼啸风云
2020/07/06
6.8K0
Java路径操作具体解释「建议收藏」
绝对路径:绝对路径就是你的主页上的文件或文件夹在硬盘上真正的路径。(URL和物理路径)比如:
全栈程序员站长
2022/07/10
9680
Java文件路径/服务器路径的获取
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157583.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
5.3K0
得到JAVA项目根文件夹
说明:相对路径(这并不说明什么时候相对谁)可以通过以下来获得(无论是一般java项目或web工程)
全栈程序员站长
2022/07/06
6550
相关推荐
idea——Tomcat拓展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档