JavaWeb中的路径问题

JavaWEB 开发中的 / 的含义

①.当前WEB应用的根路径(http://localhost:8080/contextPath/)

  • 请求转发时:request.getRequestDispathcher("/XXX").forward(request,response);
  • web.xml文件映射Servlet访问路径:
<servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/testServlet</url-pattern>
</servlet-mapping>
  • 各种定制的标签中

②.WEB站点的根路径:(http://localhost:8080/)

  • 超链接:
<a href="<%=request.getContextPath()%>/index.jsp">进入网站</a>
  • 表单中的action:
<form action="<%=request.getContextPath()%>/testServlet" method="post">
</form>
  • 请求的重定向:
response.sendRedirect(request.getContextPath()+"/index.jsp");

总结

  • 若 / 需要服务器进行内部解析, 则代表的就是 WEB 应用的根目录. 若是交给浏览器了, 则 / 代表的就是站点的根目录
  • 若 / 代表的是站点的根目录,在其前面加上contextPath就可以了
  • 若 / 代表的是 WEB 应用的根目录, 就不需要加上 contextPath 了.
原文地址:https://www.cnblogs.com/realshijing/p/7880270.html