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

来自:互联网
时间:2020-05-26
阅读:
免费资源网 - https://freexyz.cn/

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

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

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

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

2. 关于war 和war exploded

war:打成war包的形式

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

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

3.在idea中使用tomcat启动

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

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

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

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

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

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

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

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作为根路径访问。

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

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

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

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

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

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

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

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

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

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

免费资源网 - https://freexyz.cn/
返回顶部
顶部