首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

求解 一个404异常

2012-02-26 
在线等 求解 一个404错误我的工程名是StuInfo,在页面中需要换页和编辑、新建、删除,在第一页时可以正常工作,

在线等 求解 一个404错误
我的工程名是StuInfo,在页面中需要换页和编辑、新建、删除,在第一页时可以正常工作,可是换页之后就会出现404错误,
主页面AllUser.jsp:
function edit(vid){
window.location.href="Euse.jsp?eid="+vid;}

function del(did){
var b =confirm("确认要删除吗?");
if(b){
window.location.href="../servlet/UserServlet?opflag=del&did="+did;
}else{
alert("删除操作取消!");
}
}
</script>
  </head>
  
  <body>
  <%
  
  UserDAO userdao = new UserDAO(); 
  PageHelp pagehelp=null;
  List list = null;
  pagehelp=(PageHelp)request.getAttribute("pagehelp");
  if(pagehelp==null){
  //System.out.println("起始页");
  int currentPage=1;
  pagehelp =userdao.queryUser(" ",currentPage);
  }
list=pagehelp.getObjectlist();
 
  %>
  <form name="search" method="post" action="./servlet/UserServlet" target="_self" onSubmit="return docheck()">
<input type="hidden" name="opflag" value="search">
<table align="center" > 
  <tr>
  <td height="40" colspan="29" align="center"> <font size="5" face="华文楷体"><strong>用户信息</strong></font></td>
  </tr>
  <tr>
  <td height="10" colspan="3"><div align="center"></div></td>
  </tr>
  <tr>
<td align="right">ID:<input type="text" style="width:90px;height:20px;" name="uID" ></td>
<td align="right">角色:
<select name="urole">
  <option value="">请选择</option>
  <option value="0">学生</option>
  <option value="1">教师</option>
  <option value="2">管理员</option>
  </select>

<td><input type="submit" value="查询"></td>
</tr>
<tr>
  <td height="5" colspan="3"><div align="center"></div></td>
  </tr>
  </table>
  </form> 
   
  <form name="AllUser" action="AllUser.jsp">
  <table align="center" border="1"> 
  <tr>
  <td width="80" ><div align="center"><font size="2" face="宋体"><strong>ID</strong></font></div></td>
  <td width="80" ><div align="center"><font size="2" face="宋体"><strong>姓名</strong></font></div></td>
   
  <td width="80" ><div align="center"><font size="2" face="宋体"><strong>密码</strong></font></div></td>
  <td width="40" ><div align="center"><font size="2" face="宋体"><strong>角色</strong></font></div></td>
  <td></td>
  <td><input name="tnew" type="button" onClick=" window.location.href='NewUser.jsp'" value="新建"></td>
  </tr>
  <%
   


  Iterator it =list.iterator();
while(it.hasNext()){
UserVO uservo=(UserVO)it.next();
   
  %>
   
   
  <tr >
  <td width="80" ><div align="center"><%=uservo.getUserID() %></div></td>
  <%//String vsid=stuinfvo.getStuID();
  //System.out.println(stuinfvo.getStuID());%>
  <td width="80" ><div align="center"><%=uservo.getUserName() %></div></td>
   
  <td width="80" ><div align="center"><%=uservo.getPassWord() %></div></td>
  <td width="40" ><div align="center" >
  <% int role=0;
  role=uservo.getUserRole();
  if(role==0){%>学生
   
  <%}
  else if(role==1){%>教师<%
  }else{%>
  管理员
  <%}%></div></td>
   
   
   
  <td><input name="tedit" type="button" onClick="edit('<%=uservo.getUserID() %>')" value="编辑"></td>
  <td><input name="delete" type="button" value="删除" onClick="del('<%=uservo.getUserID() %>')"></td>
  </tr>
   
   
  <%} %>
   
 
  </table>

此时第一页正常,换页之后新建和编辑出现404,应为换页操作跳到了servlet里面,错误:
The requested resource (/StuInfo/servlet/NewUser.jsp) is not available.
这个我理解了,
然后我把
function edit(vid){
window.location.href="Euse.jsp?eid="+vid;
}
改成了:
function edit(vid){
window.location.href="/WebRoot/User/Euse.jsp?eid="+vid;
}
在第一页点编辑的时候,也出现404错:
The requested resource (/WebRoot/User/Euse.jsp) is not available.

这个我不懂Euse.jsp的确是在User下啊,

最后我又改成:
function edit(vid){
window.location.href="../WebRoot/User/Euse.jsp?eid="+vid;
}
同样是404错:
The requested resource (/StuInfo/WebRoot/User/Euse.jsp) is not available.



servlet里换页操作如下:
if("changePage".equals(opflag)){
String sqlCondition =" ";
sqlCondition=request.getParameter("condi");
String currentpage=request.getParameter("currentPage");
//System.out.println(currentpage);
int intcurrentpage=Integer.parseInt(currentpage);
UserDAO userdao = new UserDAO(); 
PageHelp pagehelp=new PageHelp();
//System.out.println(intcurrentpage+sqlCondition+intcurrentpage);
try {
pagehelp=userdao.queryUser(sqlCondition,intcurrentpage);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("pagehelp",pagehelp);
//response.sendRedirect("../Contact/AllContact.jsp");
request.getRequestDispatcher("../User/AllUser.jsp").forward(request,response);

}

难道我只能把点击编辑之后的响应传到servlet里去,然后再传到EUser.jsp里吗?
后面两个404错是为什么呢?看起来的确是存在的啊?


[解决办法]
估计是LZ没有理解URI和站点物理文件路径之间的关系问题。
不妨在JSP中用application.getRealPath("/StuInfo/WebRoot/User/Euse.jsp")看看文件的物理路径应该在哪里就知道了什么问题了。
[解决办法]

探讨
估计是LZ没有理解URI和站点物理文件路径之间的关系问题。
不妨在JSP中用application.getRealPath("/StuInfo/WebRoot/User/Euse.jsp")看看文件的物理路径应该在哪里就知道了什么问题了。


热点排行