`

tomcat部署时war和war exploded的区别

    博客分类:
  • idea
 
阅读更多

转自https://blog.csdn.net/xlgen157387/article/details/56498938

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

分享到:
评论

相关推荐

    Tomcat部署时war和war exploded区别及问题汇总

    在Web应用程序开发中,Tomcat作为应用服务器扮演着至关重要的角色。开发者在部署Web应用程序时,经常会遇到两种不同的...希望本文所提供的知识点能为Tomcat部署时的WAR和WAR Exploded模式的选择和应用提供参考和帮助。

    Tomcat部署项目时报错解决方案

    在部署Java Web应用程序到Apache Tomcat服务器的过程中,经常会遇到各种各样的问题,其中一种常见的错误就是启动时出现“严重:Exception starting filters struts2”这样的异常信息。本文将详细解析这个错误的原因,...

    idea配置Tomcat部署web应用

    在配置Tomcat服务器和部署Web应用程序时,可能会遇到一些问题,例如Tomcat服务器无法启动、应用程序无法部署等。下面列举一些常见的问题和解决方法: 1. Tomcat服务器无法启动:检查Tomcat服务器的安装目录和端口号...

    IDEA+tomcat部署

    在配置打包方式时,我们需要点击 Artifacts 选项卡,IDEA 会为该项目自动创建一个名为“JavaWeb:war exploded”的打包方式。这里,我们需要勾选“Build on make”,表示编译的时候就打包部署,并勾选“Show content ...

    InteliJ IDEA artifact的作用Artifact -war exploded- Error during artifact deployment_artifact吧

    当遇到“Artifact -war exploded- Error during artifact deployment”这样的错误时,通常意味着在尝试部署 Artifact 到服务器时出现了问题。"exploded"在这里表示 Artifact 已经被解压,而非打包成单一文件。这可能...

    SSM项目频繁打成war包部署,使用tomcat和maven实现热部署配置

    在开发过程中,当项目需要频繁更新和优化时,传统的部署方式——将项目打包成war包,放入Tomcat的webapps目录下并重启服务,会显得效率低下且繁琐。为了解决这个问题,我们可以利用Tomcat和Maven的热部署配置来实现...

    SpringBoot war包部署到Tomcat服务器

    SpringBoot war包部署到Tomcat服务器 作为一个专业的IT行业大师,我将为您详细介绍如何将SpringBoot war包部署到Tomcat服务器。 首先,我们需要了解什么是war包。war包是Web应用程序存档文件的扩展名,用于存储Web...

    Tomcat面试题 14道.pdf

    Tomcat 有多种部署方式,包括 WAR 文件部署、EAR 文件部署、 exploded directory 部署等。 五、Servlet 实例创建原理 Tomcat 容器是如何创建 Servlet 类实例的?Tomcat 使用了 Java 反射机制来创建 Servlet 实例。...

    编译class不用重启tomcat

    标题“编译class不用重启tomcat”涉及到的是Java开发中的热部署技术,它允许开发者在不重启应用服务器(如Tomcat)的情况下,实时更新代码并看到变化的效果,从而极大地提高了开发效率。这篇博客可能介绍了如何使用...

    IDEA创建包同时部署tomcat.doc

    文档中对如何编译项目,如何打war exploded ,如何打war包,将包部署到tomcat 都有详细的讲解. 因为图片一直上传不成功 所以采用直接上传文档.

    使用Tomcat搭建WEB开发环境

    这时,你可以选择将应用部署为“exploded”形式,即将应用目录直接放在webapps下,而不是WAR文件。这样,每次修改后无需重新打包,只需刷新目录即可看到变化。 此外,理解Tomcat的配置文件也很重要。conf/server....

    idea-Intellij Idea 2017创建web项目及tomcat部署实战 - shindoyang - 博客园1

    在"Deployment"标签页中,点击"+",选择"Artifact",然后从下拉列表中选择你的Web应用(例如:firstweb:war exploded),这样设置后,Idea会在运行时自动将项目打包并部署到Tomcat。 7. 运行项目: 最后,点击...

    springboot_jsp_maven(war+jar).rar

    【标题】"springboot_jsp_maven(war+jar)"是一个综合了Spring Boot、JSP和Maven技术的示例项目,旨在展示如何在Spring Boot框架下开发并部署包含Web界面的应用程序。该项目的独特之处在于它同时支持两种常见的部署...

    intellij idea tomcat热部署配置教程

    Tomcat是一个开源的Servlet容器,它实现了Java EE的Servlet和JavaServer Pages技术规范,并被广泛用于部署运行Java Web应用程序。热部署是一种部署方式,允许开发者在不重启服务器的情况下更新应用,以提高开发效率...

    基于onenet云平台,MySQL数据库,tomcat服务器,模拟实现对多条河流水质进行监测

    0. 准备: (1)自己的onenet云平台 ...http://localhost:8080/demo_TomCat_war_exploded/waterjsp/choosewater.jsp (只能选择D河流,其他河流无实际模拟数据且逻辑没有写) 爱吃凉拌辣芒果 2022年6月8日

    idea部署eclipse的web项目(tomcat)

    在"File" -> "Project Structure" -> "Artifacts",点击"+",选择"WAR"或"WAR exploded",这取决于你的部署需求。然后从模块列表中选择你的Web项目,并正确配置输出路径。 4. **配置Deployment**:在"Run" -> "Edit...

    Idea配置热部署的实现步骤

    3. 然后选择要部署的 war 包,热部署必须要选择带有 exploded 的 war 包。 4. 再切换回 Server,按照下图标注配置,配置完后点击 ok 即可启动 Tomcat。 5. 改一下 jsp、java 文件实验热部署配置是否成功。 Spring ...

Global site tag (gtag.js) - Google Analytics