我需要在tomcat5.0下部署工程,可是发现奇怪的问题,只能部署在ROOT下,我自己建的webapps\oms这个工程。访问的时候图片什么的都显示不出来,在错误页面上发现图片的路径还是http://localhost:8080/nresources/default/images/login-home.jpg而不是http://localhost:8080/oms/nresources/default/images/login-home.jpg我jsp里的图片路径是这样的<img src="../nresources/default/images/login-home.jpg" border="0" usemap="#Map" />,把两个点去掉改成src="/nresources/default/images/login-home.jpg"  也是放问的ROOT下的,而不是oms下的怎么解决啊?是相对路径的问题吗?整个工程的图片都有这样的问题,因为要部署多个工程,所以必须在webapps下部署。
请各位牛人给出解决方法,谢谢了。

解决方案 »

  1.   

    感觉是HTTP路径问题。用./nresources/default/images/login-home.jpg试试
      

  2.   

     /oms/nresources/default/images/login-home.jpg
      

  3.   

    在jsp文件中写路径时加  ${pageContext.request.contextPath}/WebRoot下面的路径开始写比如: 
       WebRoot 
           img
                girl.jpg
     
      ${pageContext.request.contextPath}/img/girl.jpg
      

  4.   

    1、如果你的图片在jsp页面里,建议如下<img src="<%=request.getContextPath()%>/nresources/default/images/login-home.jpg" border="0" usemap="#Map" />2、如果你的图片在html页面里,建议如下:直接写死(不推荐)
    <img src="/oms/nresources/default/images/login-home.jpg" border="0" usemap="#Map" />用相对路径,具体几层点,取决与htm和img路径的相对位置(所以叫相对路径啊)
    <img src="(几个点?)/nresources/default/images/login-home.jpg" border="0" usemap="#Map" />
      

  5.   

    试试 src="/nresources/default/images/login-home.jpg"  改为src="nresources/default/images/login-home.jpg"  
      

  6.   

    谢谢各位了,4楼的解决方法很好。 写死的话不是一劳永逸的方法。
    <img src=" <%=request.getContextPath()%>/nresources/default/images/login-home.jpg" border="0" usemap="#Map" /> 
    不错。
      

  7.   

    nresources下有default/images/login-home.jpg
    oms下有nresources/default/images/login-home.jpg
    非得这样写么。很容易出错的
    个人顶2楼的“/oms/nresources/default/images/login-home.jpg”JSP中的路径问题里介绍的不错
    绝对路径和相对路径配合使用,才能写出更健壮的代码