问题杂谈:Idea正常启动Tomcat后,无法访问Tomcat的主页及其他资源--解决方法

一、引

我们在使用Idea开发Web项目的时候,需要配置服务器,相信使用过Idea的伙伴都经历过配置服务器的过程。但是,这篇博文并不是教你如何在Idea上配置服务器的,而是一个在Idea完全正常的运行项目时,却会碰到的一个意想不到的问题,虽然这个问题并不是每个人都会遇到,但相信遇到了的人,都有过一头雾水的心情。

二、问题

我就不多说废话了,直接说问题吧。我们使用Idea开发项目,一般配置的是Tomcat服务器,当我们正常启动项目的时候,我们可以通过URL在浏览器访问到项目,没错一切正常。但恰恰不巧的是,如果这个时候我想访问Tomcat原本已有的资源,或者项目中有一个功能就是将某个文件(图片等资源)上传至Tomcat的根目录时,发现无法访问到资源,连Tomcat的主页都访问不到。这个时候是不是开始怀疑人生了?是不是觉得自己以前用了那么久的Tomcat是没有配置好的?是不是有种想要重配Tomcat的冲动?哈哈,不要冲动,其实这是一个和Idea运行机制有关的问题,只要稍加配置就可以解决了。

三、原因及解决方法

我们在运行项目的时候不是启动了Tomcat么?为什么会访问不到Tomcat的资源呢?其实,Idea在启动项目的时候,在另一个地方为Tomcat创建了一个目录,运行着虚拟Tomcat,简单来理解,就是克隆了一个虚拟的Tomcat,而你的项目就在这个虚拟的服务器上运行,所以当你想要去访问正版的服务器的时候,当然访问不到它目录下的资源了。

那么这个“虚拟服务器”在哪呢?看图

第二张图中的“Output directory”就是项目的运行所在路径了,只有在虚拟的服务器运行的路径下的资源才能被访问,那我们如果想要同时能够访问正版的Tomcat下的资源怎么办呢?很简单,只要将正版Tomcat下 资源加载到运行路径中即可,操作看图。

四、总结

可能有人会问,我启动项目的时候为什么要访问Tomcat原本已有的资源呢?我不是只要顾及运行项目下的资源就行了么?非也非也,思考一下,当正在运行的项目需要上传文件的时候,我这个文件上传的位置应该在哪?文件上传至Tomcat的根目录或者上传至项目的目录下均可,但是一般开发习惯来说,在项目开发阶段,项目并没有打包成war包,这个时候应该将项目上传至项目目录下。当项目完成并打包成war包时,就应该将文件上传至Tomcat根目录下。两者的区别在于,开发阶段是由Idea启动项目,打包后,是直接启动Tomcat服务器访问项目的。

猜你喜欢

转载自blog.csdn.net/DBC_121/article/details/86367292
今日推荐