浅析idea生成war包放入tomcat的路径访问问题
作者:benbenniaono1
点击右上角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等资源。
到此这篇关于idea 生成war 包放入tomcat的路径访问问题的文章就介绍到这了,更多相关idea war 包tomcat路径访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!