1,xml文件修改,servlet的地址名没有修改。
2,给定了许多jsp页面,把jsp页面放到项目里面,页面之间不能跳转,又是相对路径,出现了404,用servlet访问,不能转发,要用重定向。
3,不要在web-info下面放jsp,直接访问不了,可以转发或者重定向。
4,重定向是不会错误的。 而转发如果servlet和jsp页面不在同一个相对位置。
可以使用绝对路径。
<%
String path = request.getContextPath(); // 得到项目的绝对路径
request.setAttribute("path", path); // 后面可以取到
String basePath = request.getScheme()+"//"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
// 方法1
function show() {location.href = "${ path }/orderListManager?pageNo=" + obj.value;// webcontent 下的servlet
}// 方法二
function show() {location.href = "<%=request.getContextPath(); %>/orderListManager?pageNo=" + obj.value;
}
原因:
servlet在转发时,不是转发的jsp的路径,而是servlet本身的路径。manage下的jsp自然就404了。
通过浏览器的路径看得出来,是servlet的路径,servlet在转发做的操作是读取jsp文件,通过response.getOutputStream()将文件数据输出到浏览器中。