近期由于项目中jsp发请求要訪问项目以外的文件。直接訪问写成“c:xxxxxx.mp4”来訪问是没有权限的。不能完毕现有要求。经查询后发现能够在tomcat中配置虚拟文件夹将本地的文件设置成"http://localhost:8080/xxx.mp4",本地文件经过这种虚拟映射后就能够在项目中訪问了。
上面的思路是很正确的。可是详细实施起来却遇到了问题,终于经重复启动项目和本机上的tomcat发现,eclipse项目启动时。仅仅是使用了本机上的部分tomcat组件,并没有全然载入tomcat中的所有配置。最简单的验证方法就是,eclipse项目启动后。在浏览器地址上输入http://localhost:8080/prjName可以正常执行项目。可是在浏览器中直接输入http://localhost:8080/却无法看到tomcat的管理页面,这个是很诡异的。要解决在项目中可以正常使用地址映射的问题就必需要明确,为什么eclipse项目启动后不能訪问http://localhost:8080/这个地址。
经过搜索后我得到例如以下解决方式:
用eclipse正常载入了项目之后会有server选项如图:
鼠标左键双击红框。会出现一个配置画面,如图:
eclipse默认是选择的第一个红框中的选项也就是“Use workspace metadata(...)”,这个选项的意思就是,启动项目时eclipse之调用了tomcat的核心组件,内置到eclipse中,启动和部署时跟真正的tomcat没有关系,因此当使用eclipse默认设置时,訪问http://localhost:8080/是无法訪问的。而訪问http://localhost:8080/xxx 自己的项目却能正常訪问。
假设想要将启动eclipse项目时使用的tomcat和手动启动机器上的tomcat达到一样的效果,就须要选择上面第二个红框中的选项也就是“Use Tomcat installation(...)”,选用这个选项,启动eclipse后。就能够訪问http://localhost:8080/,而且会出现tomcat配置页面,同一时候,在tomcat中增加的虚拟地址配置都会在项目中起作用。