web应用中的路径问题:
在web应用中,路径有绝对路径和相对路径两种:
1 相对路径:不以"/"开头的路径,以当前目录为出发点。
2 绝对路径:以"/"开头的路径。
路径问题涉及的范围:
1 表单提交;
2 转发;
3 重定向;
4 链接。
表单提交、重定向、链接绝对路径从应用名开始。(MyEclipse中,在工程名上右击,选择属性->web:可以改应用名Content-root)
转发绝对路径从应用名之后开始。
如:
链接:<a href="/web/jsp/test.jsp">visit test.jsp</a>:
但是这种写法为硬编码(hard coding),不够灵活。可以改为:
<a href="<%=request.getContextPath()%>/jsp/test.jsp">visit test.jsp</a>:
重定向:response.sendRedirect(request.getContextPath()+"/other.jsp");
转发:request.getRequestDispatcher("/other.jsp").forward(request, response);
表单:<form action="<%=request.getContextPath()%>/some" method="post">