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 了.