现在我的web程序中src文件下的chapter2/Welcome.java Servlet文件中有这样的跳转代码
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("chapter2/show.jsp");
dispatcher.forward(request, response);
}
show.jsp在WebRoot文件下的chapter2文件中,可是由Welcome.java文件跳转到show.jsp时,show.jsp中的图片都显示不出来,而要是直接从index.jsp文件跳转(<a href="chapter2/show.jsp">this is test</a>)时,图片就都能显示,不知道怎么解决。

解决方案 »

  1.   

    你右键看看图片的地址是啥啊,肯定不对呗,一般图片前都加上request.getContentPath()的,这样一般就没问题了。
      

  2.   

    图片的地址是,WebRoot下的chapter2/images/中,但我从index.jsp中跳转时,图片就都能显示。
    request.getContentPath()要放在什么地方?我试了一下,request中没有getContentPath()方法
      

  3.   

    从URL来看,还是Welcome的URL,估计问题就出在这,Welcome.java和show.jsp不在同一个文件夹下,所以图片的路径会出现问题,不知道怎么弄。
      

  4.   

    把请求转发改为response重定向。
      

  5.   

    但是我还要向show.jsp中传递参数。
      

  6.   

    requset.setAttribute("aaa","aaa");
    request.getDispatcher("chapter2/show.jsp").forward(request, response);然后你在show.jsp取aaa的值
    ${aaa}我想应该可以去得到的
      

  7.   

    我试了一下,把show.jsp中的图片都弄成绝对路径时chapter/......用request.getRequestDispacher可以,但是用response重定向就不行了,反之亦然。
      

  8.   

    现在还想问一下,如果用response.sendRedirect("")里能传递参数吗?