欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

浅析idea生成war包放入tomcat的路径访问问题

时间:2021-04-18 09:49:20|栏目:JAVA代码|点击:

点击右上角project structure或者左上角File-project structure打开project structure文件结构,选中atrifacts,点击+,选中web apllication archive,然后选中要打包的项目,打包后的文件后生成在output directory指定的目录中。

点击bulid栏目,选中build artifacts ,选中要打包的栏目,点击bulid,然后会在指定的output dierectory 目录中看到对应的war包。 

2. 关于war 和war exploded

war:打成war包的形式

war exploded:相当于将war包的内容解压后放在文件夹当中

3.在idea中使用tomcat启动

选择Edit configurations,点击+号,选择本地的tomcat,在server处选择本地的一个tomcat的路径,此时已经配置好tomcat。

注意图片下方的红色警告,Warning: No artifacts marked for deployment,没有标记要被部署的项目,也就是说我们刚刚打包的项目需要被部署到tomcat上。

点击deployment ,点击右边的加号,选择artifact,一般开发环境会选择war exploded,方便做热部署。修改application Context为/,不然访问路径需要输入miaosha_war_exploded这个路径。至此配置完毕。

4.把war包放在指定的tomcat下启动

把我们刚刚得到的war包放入指定的tomca的webapps下,启动tomcat。输入访问路径:http://localhost:8080/miaosha-0.0.1-SNAPSHOT/login/to_login,需要加上包名。因为在miaosha-0.0.1-SNAPSHOT文件夹上才是我们要访问WEB-INF

资源存放的地址。但是这样会有一个问题,就是我后续的跳转操作就会报错404,可以从tomcat logs文件下查看aceees.log日志查看请求的记录,发现请求的路径是/login/do_login,没有带我们的包名,那么访问肯定就是404的,所以我们要想办法去掉包名这个路径,从localhost:8080作为根路径访问。

我们可以这样做,修改conf下的server文件,找到其中的Host节点,在当中加入一行:

<Context docBase="I:\apache-tomcat-8.5.20\webapps\miaosha-0.0.1-SNAPSHOT" path="" reloadable="true" crossContext="true"/>,然后重启tomcat。

输入我们的访问地址http://localhost:8080/login/to_login,这时候不带包名也能够访问了,后续的跳转操作也能够正常进行。然后在回到我们的webapps下面,可以看到多了一个ROOT文件夹,里面放的就是我们需要的WEB-INF等资源。

上一篇:基于JAVA中的四种JSON解析方式详解

栏    目:JAVA代码

下一篇:Java中Singleton的3种实现方式详解

本文标题:浅析idea生成war包放入tomcat的路径访问问题

本文地址:http://www.codeinn.net/misctech/103640.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有