当打开图片位置比如:mysercise/boy.jpg,当使用<img src="mysercise/boy.jpg>时,在myeclipse中显示是正常的,
但部署到tomcat之后图片却无法显示。这个是因为路径不对。
/*
Servlet获取URL地址有以下六个方法:
getContextPath 取得项目名
getServletPath 取得Servlet名
getPathInfo 取得Servlet后的URL名,不包括URL参数
getRequestURL 取得不包括参数的URL
getRequestURI 取得不包括参数的URI,即去掉协议和服务器名的URL
具体如下图:
相对应的函数的值如下:
getContextPath:/ServletTest
getServletPath:/main
getPathInfo:/index/testpage/test
getRequestURL:http://localhost:8080/ServletTest/main/index/testpage/test
getRequestURI:/ServletTest/main/index/testpage/test
解决方法:使用<img src="<%=request.getContextPath()%>/mysercise/boy.jpg"/>
使用MAVEN目录结构,在web-inf下的文件引用其他文件的时候,路径是相对于webapp来说的,所以不能和当前文件的路径作为比对,应该以webapp作为该文件的当前路径,比如一个jsp文件在web-inf的jsp文件夹下,当引用js文件的时候,应该把该JS文件放在webapp下的文件夹下,所以在webapp的文件夹下建一个JS文件夹,将引用的JS文件,比如 jQuery .js文件引入,则在引入的时候应该写src为js/ jquery .jsp。
注:JSP貌似会区别图片文件的大小写问题,若resources中图片名为boy.JPG的话,就一定要写成
<img src=" <%=request.getContextPath()%>/resources/boy.JPG"/>才能正常显示