优雅刺客 2023-06-03 23:24 采纳率: 81.8%
浏览 17
已结题

请教一个servlet的resp.sendRedirect的问题

请教,servlet的response.sendRedirect后面的URL是不能写WEB-INF里的路径的,那么sendRedirect后面想访问WEB-INFO下的views文件夹里的jsp,应该怎么访问呢?

  • 写回答

2条回答 默认 最新

  • 27-1994 2023-06-03 23:32
    关注

    sendRedirect方法后面的URL不能直接写WEB-INF里的路径,因为WEB-INF目录是受保护的,不能直接访问。如果你想访问WEB-INF下的views文件夹里的jsp,可以通过以下两种方式实现:

    1. 将jsp文件移动到WebContent目录下,然后在sendRedirect方法中使用相对路径访问,例如:

      response.sendRedirect("views/example.jsp");
      
    2. sendRedirect方法中使用绝对路径访问,例如:

      response.sendRedirect(request.getContextPath() + "/views/example.jsp");
      

      这里的request.getContextPath()方法返回的是应用程序的上下文路径,例如,如果你的应用程序部署在localhost:8080/myapp下,那么request.getContextPath()返回的就是"/myapp"。这样,使用绝对路径访问时就可以正确地定位到WEB-INF下的views文件夹里的jsp了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月12日
  • 已采纳回答 6月4日
  • 创建了问题 6月3日