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)的实验结果可以看到这两种方式得部署方式是不一样的,因此在获取项目的相对路径的时候得到的结果是不一样的。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 详解将Web项目War包部署到Tomcat服务器基本步骤

    1. 常识: 1.1 War包 War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS的代码,也包含Java的代码. 当开发人员在自己的开发机器上调试所有代码并通过后,为了交给测试人员测试和未来进行产品发布,都需要将开发人员的源码打包成War进行发布. War包可以放在Tomcat下的webapps或者word目录下,随着tomcat服务器的启动,它可以自动被解压. 1.2 Tomcat服务器 Tomcat服务器是一个免费的开放源代码

  • 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

  • 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:项目的访问路径-->虚拟路

随机推荐