Eclipse Tomcat访问webapps下其他目录失败

eclipse中tomcat默认配置:

Eclipse Tomcat访问webapps下其他目录失败_第1张图片


后修改为 Deploy path 直接指向tomcat中

Eclipse Tomcat访问webapps下其他目录失败_第2张图片


为防止项目更新覆盖已经上传的文件, 将上传文件与项目目录平行:

Eclipse Tomcat访问webapps下其他目录失败_第3张图片


开发中发现上传的图片无法访问, 服务器中图片确实存在, 路径也没有错误;

Eclipse Tomcat访问webapps下其他目录失败_第4张图片



百思不得姐!! 各种百度, google, 有人说在 tomcat/conf/server.xml 中映射静态路径;

Eclipse Tomcat访问webapps下其他目录失败_第5张图片


这种方法确实可行, 但有个问题, 项目应该与容器是解耦的, 不应该依赖于容器配置.

于是, 仔细查看tomcat启动日志, 终于发现了一些端倪:

Eclipse Tomcat访问webapps下其他目录失败_第6张图片


CATALINA_BASE 和 Deploy Path不在同一个容器当中, 找到了问题开始着手修改:

清空容器中的项目, 否则无法修改Server Locations


其次, 修改server path与deploy path匹配上:

Eclipse Tomcat访问webapps下其他目录失败_第7张图片


修改完成后, Tomcat启动信息如下:

Eclipse Tomcat访问webapps下其他目录失败_第8张图片


至此, 算是解决了这个问题, 虽然该问题看起来不算太严重, 关键在于解决此类问题的思路! 


根据Eclipse发布结果, 总结下如何配置可以通过网站根路劲访问项目:

第一步, 在 tomcat/conf/server.xml中, 节点中添加 节点

Eclipse Tomcat访问webapps下其他目录失败_第9张图片

第二步, 将war包copy到 tomcat/webapps/ 下

Eclipse Tomcat访问webapps下其他目录失败_第10张图片

第三步, 删除ROOT下无用文件(文件夹), 仅保留web.xml, 内容如下:

Eclipse Tomcat访问webapps下其他目录失败_第11张图片


虾米?步骤太多,嫌麻烦。出个大招 

===> 将war包重命名为 ROOT.war, 丢在 appBase(默认为webapps) 下面即可 

===> 需要注意, js请求路径统一修改未相对域名访问(e.g location.href="/user/center")

Eclipse Tomcat访问webapps下其他目录失败_第12张图片



你可能感兴趣的:(Java)