引用 -----  mlfog(飞天无敌)
昏倒~
想好再说---------------------------------
这个叫"JSP漏洞"?
在JSP中有两种使页面转向到其它页面的方法
1、请求转发:<jsp:forward page="xx.jsp">
   对于请求转发,转发的页面和目标页面共享request范围内的共享数据,并且web路径不变
2、请求重定向:<% reponse.sendRedirect("http://xxx.xxx.xx/xx.jsp") %>
   对于重定向,起始页面和目标页面不能共享request范围的共享数据,并且web路径也重定向到目标页面的路径,重定向不仅可以使页面重定向到同一应用中的URL,还可以重定向到任意一个URL地址页面中。既然web路径不变,它当然找不到位于不同路径的images文件夹中的图片拉
解决方法:
    传递参数  例如: baseUrl = "../"
    页面写法  <% String baseUrl = request.getParameter("baseUrl") ; %>
              <img src="<%=baseUrl%>images/img.jpg"/> 
    调用方法  <jsp:forward page="xx.jsp?baseUrl="../"/>
              或者
              <jsp:forward page="xx.jsp">
                 <jsp:param name="baseUrl" value="../"/>   
              </jsp:forward> 
  

解决方案 »

  1.   

    上面说把部署目录为根目录.你的路径是什么啊.假如部署目录为a.你想用"a/index1.jsp"啊这样只能是以当前目录为参考..分析为:http://127.0.0.1:8080/a/elective/a/index1.jsp
                                                                       --------------
      

  2.   

    zmt_cn(细雨微凉) 这位是高手..顶顶
      

  3.   

    zmt_cn(细雨微凉) 这种方法对于有大量图片的网页有缺陷
      

  4.   

    struts中的那种<html:base />可以在html中生成base标签,显示当前的页面实际地址。这样页面中那些以相对路径来表示的图片会依据base标签中的地址正确显示。JSP中的这个问题也可以用同样的原理解决,主要是要正确的生成那个<base>标签
      

  5.   

    这种方法对于有大量图片的网页有缺陷
    -----------说得好
    那么你把baseUrl参数设置在http头的相对路径中,一次解决所有图片显示方法
      

  6.   

    小弟就有一个比较简单的方法:有时候都值得一看:把<jsp:forward page="index3.jsp"/>先定向到一个同目录的网页index3.jspindex3.jsp的代码如下:
    <html>
    <head>
    <meta http-equiv="refresh" content="0; url=../index.jsp"><!-----在这里定向------->
    </head>
    <body></body>
    </html>
      

  7.   

    这样的方法简单吗?
    如果你的一级目录中有100个页面,从它的二级目录中转发上来时,是不是要写100个对应的index3.jsp的页面来匹配一级目录中的那100个JSP文件呢?
      

  8.   

    小弟就有一个比较简单的方法
    -------------这种方法类似于 重定向,还不如干脆用:
    <% reponse.sendRedirect("http://xxx.xxx.xx/xx.jsp") %>
    因为经过这种方法后,就无法共享request中的共享数据了.
      

  9.   

    zmt_cn(细雨微凉) 果然是高手
      

  10.   


    不过你一直都打错了一个单词 
    <% reponse.sendRedirect("http://xxx.xxx.xx/xx.jsp") %>中reponse应该是response