Tomcat部署时war和war exploded区别及问题汇总
war和war exploded的区别
在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况:
是选择war还是war exploded 这里首先看一下他们两个的区别:
war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;
(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。
修改箭头指向的位置,这样的话就可以实现热部署。
使用war模式开发的时候遇到的坑
一、项目代码的位置如下:
上述项目为SSM项目。
二、部署使用的Tomcat位置:
三、用于获取上下文环境绝对路径的代码:
String contextPath = request.getSession().getServletContext().getRealPath("/");
四、两种方式的实验过程和结果:
(1)在使用war模式开发的时候,通过下边这段代码获取项目的相对路径:
String contextPath = request.getSession().getServletContext().getRealPath("/");
war模式始终是获取到的路径如下:
其中C:\Software\apache-tomcat-8.0.32 是我Tomcat的所在位置。
可以看出通过war模式是最终打包部署到Tomcat的位置。
(2)然后再看war exploded模式,同样进行设置,运行同一段代码,运行结果如下:
可以看出最终得到的是我这个项目的位置,其实就是这个项目target的位置。
五、总结
根据上述(1)(2)的实验结果可以看到这两种方式得部署方式是不一样的,因此在获取项目的相对路径的时候得到的结果是不一样的。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
springboot项目打成war包部署到tomcat遇到的一些问题
开发环境使用jdk1.8.0_60,把springboot 项目打成war包后, 部署到apache-tomcat-7.0.68时报错如下,换成apache-tomcat-8.0.9解决 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/my-springboot-web-0.0.1
-
windows 10 + vwware+centos 6.5虚拟机系统安装Tomcat
Linux 配置Tomcat 环境设置 系统环境:windows 10 + vwware,centos 6.5虚拟机系统 安装jdk 如果没有jdk,要先安装jdk. 如何判断是否已经安装 [root@localhost /]# java -version java version "1.7.0_45" OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15) OpenJDK 64-Bit Server VM (buil
-
详解将Web项目War包部署到Tomcat服务器基本步骤
1. 常识: 1.1 War包 War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS的代码,也包含Java的代码. 当开发人员在自己的开发机器上调试所有代码并通过后,为了交给测试人员测试和未来进行产品发布,都需要将开发人员的源码打包成War进行发布. War包可以放在Tomcat下的webapps或者word目录下,随着tomcat服务器的启动,它可以自动被解压. 1.2 Tomcat服务器 Tomcat服务器是一个免费的开放源代码
-
Tomcat部署时war和war exploded区别及问题汇总
war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式:将WEB工程以包的形式上传到服务器 : war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器: (1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布: (2)war exploded模式是直接把文件夹.jsp页面 .classes等等移到Tom
-
Tomcat部署多个war包的方法步骤
1 背景 安装了JDK1.8-u181(其实安装JRE足够了,但我手头有JDK的安装包,何必再下)和Tomcat8.5.53. 安装好以后环境变量里配置了JAVA_HOME,Path.配的是JRE,没有配JDK. 要发布两个war包,MES和ERP. 2 安装Tomcat 我用的是.exe文件安装,安装后没有配tomvat_home(因为我也不知道需不需要配置) 3 复制文件夹 3.1 安装目录confCatalina Catalina是一个文件夹,将Catalina复制两份,一个命名为Cata
-
centos环境下使用tomcat 部署SpringBoot的war包
准备war包 一.准备好已有的SpringBoot工程,在pom中添加依赖 1)设置打包格式为war <packaging>war</packaging> 2)排除SpringBoot内嵌的tomcat <!-- 以war包部署的形式需要排除内嵌的tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo
-
通过图文讲解Tomcat部署war包的方法步骤
目录 一.环境 二.步骤 总结 一.环境 1.Tomcat:本次测试的版本为Tomcat8.5(Tomcat下载官网:Apache Tomcat® - Welcome!): 2.war包:本次已在开发工具IDEA或Eclipse生成了war文件(JavaWebTest.war),若还不会在开发工具将项目打成war包的,请另行百度. 二.步骤 1.解压官网下载的Tomcat到任一目录下,然后将其war包JavaWebTest.war复制粘贴到apache-tomcat-8.5\webapps\RO
-
浅谈SpringBoot项目打成war和jar的区别
首先给大家来讲一个我们遇到的一个奇怪的问题: 1.我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了? 2.然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了. 也就是说我在原来的机器的IDEA中运行,项目接口地址为 ip:8090/listall,
-
java 一键部署 jar 包和 war 包
目录 java 一键部署 jar 包和 war 包 一.创建打包命令 gateway-package.bat 二.创建启动文件 gateway.xml 三.一键打包并部署脚本 gateway-deploy.bat 文件内容 四.双击打包部署 bat 文件 gateway-deploy.bat 五.执行 vue 打包并且上传部署 六.安装 7z 压缩工具并配置系统环境变量 七.创建上传部署文件 webConfig.xml 九.双击执行部署 vue-deploy.bat java 一键部署 jar
-
教你在IDEA中使用Tomcat部署并启动Web项目
首先在Idea中选择编辑运行配置,如下图 左上角的“+”号,选择Tomcat服务,如下图 自定义服务名称和项目在浏览器的访问路径 配置Tomcat服务器路径,如下图 然后在服务器中部署项目(下面的警告提示:Warning: No artifacts marked for deployment 警告:没有标记要部署的项目),点击Deplyment选项,点击“+”号,选择“Artifact”,选择“war exploded” war和war exploded的区别 war:将项目以war包的形式部署
-
spring定时任务执行两次及tomcat部署缓慢问题的解决方法
一.spring定时任务执行两次 问题重现和解析 最近使用quartz定时任务框架,结果发现开发环境执行无任何问题,部署到服务器上后,发现同一时间任务执行了多次.经过搜索发现是服务器上tomcat的配置文件出现了问题. 原来的配置文件--server.xml如下: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
-
spring boot 若依系统整合Ueditor部署时上传图片错误问题
前言:国庆假期找了个ruoyi版本的cms玩玩,从git上看,介绍如下图: 后台部分截图: 编辑 编辑 编辑 编辑 前台blog截图: 编辑 编辑 看上去还可以不错,于是clone下来玩玩,结果发现,发布文章的时候,编辑器有问题,上传不了图片,还有其他几个地方有问题,怎么解决呢?自己上手撸代码,修改呗.于是,下载了ueditor的源码,加到项目中,进行修改.现在已经修改完成,并且也发布到的服务器上了,欢迎大家访问测试.文末会有凯哥修改后的git地址o~ 正文: 在spring boo
-
tomcat部署项目以及与IDEA集成的实现
tomcat部署项目的3种方式 直接将项目放到webapps目录 配置conf/server.xml文件 在conf\catalina\localhost创建任意名称的xml文件. 直接将项目放到webapps目录 新建一个haha文件夹,这个文件夹就是相当于一个项目 文件夹中创建一个a.xml文件 xml文件的内容为 把项目复制到webapps目录,重启tomcat 访问页面 如果出现乱码,可以参考这个解决tomcat 静态页面(html)中文乱码终极篇 /haha:项目的访问路径-->虚拟路
随机推荐
- 详解IOS开发中生成推送的pem文件
- vue.js入门教程之计算属性
- 微信小程序实现图片预加载组件
- 在PHP中操作Excel实例代码
- 举例解析Java的设计模式编程中里氏替换原则的意义
- python在windows和linux下获得本机本地ip地址方法小结
- Mysql 默认字符集设置方法(免安装版)
- 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
- Android优雅的方式解决软键盘遮挡按钮问题
- MySQL Administrator 登录报错的解决方法
- 实战模拟监控MySQL服务shell脚本小结
- Android学习项目之简易版微信为例(二)
- 原生js FileReader对象实现图片上传本地预览效果
- Dropzone.js实现文件拖拽上传功能(附源码下载)
- Java二分法查找_动力节点Java学院整理
- Yii中的cookie的发送和读取
- C#缩略图多路径多格式保存的实例
- node vue项目开发之前后端分离实战记录
- java中switch选择语句代码详解
- python实现支付宝当面付(扫码支付)功能