tomcat加载文件,文件找不到

我用jquery.media.js去加载pdf,在没有导入项目前,直接打开demo里面的html,是可以加载出pdf文件的,
然后我将demo导入到了自己项目中,tomcat启动后,
就怎么也找不到pdf文件(pdf文件我也放在项目中webapp下)
同样,我试了加载D:\下的pdf文件,也是找不到
我试了用全局,绝对,相对路径,都不能把文件加载出来,
但是按ctrl鼠标移到路径上是有下划线的,
应该怎么取加载这个文件呢?

不一定。webapps是默认项目文件的路径,将项目文件放在该路径下,tomcat会自动调用它,但我们也可以自己指定路径。指定项目路径可以参考这篇文章:补充tomcat的部署方法主要有以下几种:一、静态部署1、直接将web项目文件件拷贝到webapps目录中Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用cmd命令:jar-cvfmywar.warmywebwebapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:将appBase修改即可。2、在server.xml中指定在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。在tomcat中的conf目录中,在server.xml中的,节点中添加:或者或者说明:path是虚拟路径;docBase是应用程序的物理路径;workDir是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;debug则是设定debuglevel,0表示提供最少的信息,9表示提供最多的信息privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servletreloadable如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署antiResourceLocking和antiJARLocking热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。3、创建一个Context文件在conf目录中,新建Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:tomcat自带例子如下:这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。4、注意:删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。二动态部署登陆tomcat管理控制台:7472411
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-25
得把文件也导入到项目里,然后引用项目中文件地址。追问

文件之前已经导入进去了

追答

清理下tomcat缓存,使用浏览器的debugger工具查看一下请求路径是否正确。

追问

我试过了,路径是对的,刚刚用图片进行了对比,同一路径下,我放了张图片,然后图片能被加载出来,但是pdf不能被加载,不知道为什么

追答

不是文件问题。能不能把文件名称和你路径的配置截图发出来

追问

追答

报错的页面按f12打开debugger工具 点console 其中有个红色的报错的404地址,看一下路径是否正确。或者试下这个路径js/mediaPdf/123.pdf

追问

对比了一下,路径都是相同的,

然后我试了下这个路径 js/mediaPdf/123.pdf

结果也是一样

追答

去tomcat目录下webapps/项目名/js/mediaPdf/看一下有没有这个文件
用tomcat自带的启动脚本启动试试

追问

我找到原因了,是应为web.xml没有配置,会过滤掉.pdf格式的东西
我在web.xml中添加了

default
*.pdf

就解决了
不过还是非常感谢你的

本回答被提问者采纳
第2个回答  2017-07-25
得使用WEB中的路径

~
~
~

为什么tomcat找不到文件?
导致系统找不到文件的几种情况:不同系统盘符问题:如在windows系统写了个路径c:\\test,服务器为linux系统,到服务器上保证报FileNotFound。因为linux系统没有盘符的概念 加载方式:如本地使用的是jar包启动的项目(springboot就是jar包启动的项目),而上了服务器后用的是war包方式启的(就是用的tomcat)...

若依tomcat部署找不到配置文件
该问题的原因及解决方法如下:该问题的原因有:1、配置文件路径不正确。在读取配置文件时,使用的是相对于Tomcat工作空间资源的绝对路径,如果路径错误,会导致无法找到配置文件。2、配置文件不存在。如果配置文件确实不存在,也会导致无法找到配置文件。解决这个问题的方法是:1、确认配置文件的路径是否正确。

tomcat8w.exe显示系统找不到指定的文件
网络问题。tomcat8w.exe显示系统找不到指定的文件是网络连接异常导致,解决方法如下。1、首先打开电脑检查网络。2、其次打开tomcat8wexe文件进行测试网络连接是否异常。3、最后在网络环境正常时点击重新搜索即可。

tomcat升级为8.5.43后一启动就警告找不到指定文件orai18n-mapping.jar...
警告还要理会吗?另外如果error提示无法加载xxxx.class,那还有可能事jar包版本冲突导致的

启动tomcat的时候出现windows找不到文件“-Djava.endorse.dirs=”怎 ...
启动Tomcat,右键单击任务栏图标,在JavaVM的Option里面添加参数(引号里是默认安装路径,改成自己的)。-Djava.endorsed.dirs= "C:\\Program Files\\Apache Software Foundation\\Tomcat 5.0\\common\\endorsed "

...tomcat7 服务(位于本地计算机上)错误2系统找不到指定的文
此服务的服务系统配置文件丢失 电脑无法找到启动他的文件 可能是关联不正确导致的 你需要重新安装服务

tomcat中找不到jsp文件时怎么回事
删掉work\/Catalina目录下的localhost文件,然后在服务器窗口看那个tomcat的satus是否是ok,(这个可能是你在debug模式下调程序时,所引起的问题)如果是,那我也没辙了,不过您要是重装TOMCAT的话应该可以解决您的问题

tomcat启动成功项目部署成功但是找不到项目
我们的主目录就被设置为bidding这个项目了。第二种:将tomcat安装目录下的ROOT下的所有文件全部删除,然后将工程的解压后的文件全部拷进去。第三种:Tomcat5.0以下版本在C:\/Tomcat\/conf\/Catalina\/localhost目录下会自动生成了一个ROOT.Xml,但是5.0以上版本不再生成此文件,所以可以新建个ROOT.xml,在里面...

linux tomcat started,但是实际失败了,启动日志说找不到文件怎么办?
1、检查配置文件。2、把“commons-fileupload-1.2.2.jar”和“commons-io-2.0.1.jar”包放到lib下。3、查看Tomcat的日志解决问题。

tomcat 7.0 在myeclipse8.5中加载出错提示找不到main文件是什么原因
很可能是你使用的jdk冲突导致的,在window->preferrence->java->compiler里面将使用的jdk编译器版本改成你安装使用的jdk

相似回答