反斜杠在JSP中的两种不同的含义

时间:2021-08-31 21:37:39

/ 在不同条件下的不同含义

/ 代表WEB应用的根路径的情况:/ 交给 Servlet容器来处理

  1. 请求转发时:
    request.getRequestDispatcher("/xxxx").forward(request,response);
    转发的URL为:
    localhost:8080/webapp/xxxx

  2. web.xml文件中的/映射

  3. 各种标签中的 /

/ 代表WEB站点的根路径的情况:/ 交给浏览器来处理

  1. 超链接

  2. 表格中的 action

  3. 请求重定向的时候:
    HttpServletResponse.sendRedirect(/xxxx)
    重定向的URL为:
    localhost:8080/xxxx

请求与重定向的使用注意

重定向会产生两次HTTP请求,转发只有一次,效率较高。
RequestDispatcher.forward方法只能将请求转发给同一个Web应用中的组件,
HttpServletResponse.sendRedirect不仅可以重定向到当前应用程序的其他资源,
还可以重定向到痛一个站点上的其他应用程序的资源,甚至是使用绝对URL重定向到其他站点的资源。