导入别人的web项目的时候,如果不是直接部署在tomcat的root下,通过myeclipse/eclipse启动,访问时,需要在访问路径中增加项目名称,有木有?
增加了项目名称进行访问时,访问成功了,但是很多图片,尤其是在css中写好的有关图片啊文件啊诸类的访问经常会失败,有木有?
其实,项目本身是没有错误的,资源本身也是好的,只是访问路径出错了。
这个问题最好的办法有两个
1 在代码中控制好访问的路径,最好在每个页面的最开始加上
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %>
这是获取当前访问路径的代码,包括访问端口号,比如http://localhost:8080/FreeCMS,如果是根目录就直接是http://localhost:8080/
然后,在引用资源的地方,通过该路径来进行定位控制
2 推荐:在每次引入新的项目的时候,最好进行一下WebContent/WebRoot的设置,步鄹如下:
右击项目-->Propertise-->MyEclipse-->web -->修改Web Context-root
如果想要不增加项目名称就访问,如http://localhost:8080/,讲WebContext-root设置为/即可。
但一定要记住要重新部署项目,不然会出错!!!
如此之后,比如我引入了新的项目FreeCMS,如果不修改,通过http://localhost:8080/FreeCMS访问首页,能够访问,但是很多资源页访问不了,因为路径通过css或者代码输出之后变成了比如http://localhost:8080/img/logo.jpg,发生404错误;修改之后,通过http://localhost:8080/直接访问首页,资源也能正常得到。