我的工程在Project文件夹下,index.jsp在Project/index.jsp,servlet在文件夹Project/servlet下。在servet中用this.getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);可以转到http://localhost:8080/Project/index.jsp,但用response.sendRedirect("/index.jsp");却转到http://localhost:8080/index.jsp各位请指点一下!不能用response.sendRedirect("Project/index.jsp");因为在发布后路径就改了。

解决方案 »

  1.   

    你说的发布后路径就改了,改的是index.jsp相对项目的存放位置,还是项目的名称(Project)?如果是前者,没有办法。如果是后者,你可以request.getContextPath来动态获取这个名字,这样,你就可以把路径拼装起来了
      

  2.   

    你发布后自然就好了,或者你现在可以加上request.getContextPath试下..
      

  3.   

    对于Web应用程序,最好都用相对路径。