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

网友投稿 530 2023-06-13

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

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

点击右上角project structure或者左上角File-project structure打开prFJmtzfAVoject 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节点,在当中加入一行:

,然后重启tomcat。

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring中@Async注解实现异步调详解
下一篇:开发工具EesyCode使用方法解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~