+ -
当前位置:首页 → 问答吧 → request.getRequestDispatcher页面跳转问题,真心求教 ,谢谢在线等

request.getRequestDispatcher页面跳转问题,真心求教 ,谢谢在线等

时间:2011-11-23

来源:互联网

首先我想在Servlet中用这个跳转到一个jsp页面
request.getRequestDispatcher("/student/student.jsp").forward(request,response);
但是这个路径可能有问题。我研究了半天,现在起动Tomcat,打开IE,说找不到857的源。
Source not found for Scanner.getNextToken() line: 857
真心求教,下面贴代码

作者: Godys9527   发布时间: 2011-11-23

<form method="post" action="servlet/JudgeServlet">
  <table align="center">
  <tr><td>请登陆</td></tr>
  <tr><td>用户名:<input type="text" name="name"></td></tr>
  <tr><td>密&nbsp;&nbsp;码:<input type="text" name="pw"></td></tr>
  <tr><td>身&nbsp;&nbsp;份:<input type="radio" name="type" value="student" checked>学生
  <input type="radio" value="teacher" name="type">教师
  <input type="radio" value="adm" name="type">管理员</td></tr>
  <tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="提交" name="submit">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="重置" name="reset"></td></tr>
  </table>




这个是login.jsp,第一个比较简单的一个表单的代码

作者: Godys9527   发布时间: 2011-11-23

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();

String username = request.getParameter("name");
String password = request.getParameter("pw");
String userType = request.getParameter("type");
if(username.equals("abc") && password.equals("123") && userType.equals("student")){
request.getRequestDispatcher("/student/student.jsp").forward(request,response);
}
else {
response.sendRedirect("../error.jsp");
}



这是doPost的Servlet的代码。

作者: Godys9527   发布时间: 2011-11-23

最后student.jsp代码里面没有东西。。。就是跳不到这个页面。输入 abc,123,选择学生

作者: Godys9527   发布时间: 2011-11-23

request.getRequestDispatcher("/student.jsp").forward(request,response);

request.getRequestDispatcher("/WEB-INF/student.jsp").forward(request,response);

作者: A328240784   发布时间: 2011-11-23

我看到说forward方式只能跳转到本web应用中的页面上。这句话是什么意思 。我把student/student放到了WebRoot目录下,就是跳不出去,如果直接放在项 目下,说是404路径错误,,怎么办啊,教教我啊

作者: Godys9527   发布时间: 2011-11-23

引用 4 楼 a328240784 的回复:

request.getRequestDispatcher("/student.jsp").forward(request,response);

request.getRequestDispatcher("/WEB-INF/student.jsp").forward(request,response);


我看到书上没有写web-inf这个目录啊,要在这个目录下创建student目录,里面放jsp文件 吗?

作者: Godys9527   发布时间: 2011-11-23

引用 4 楼 a328240784 的回复:

request.getRequestDispatcher("/student.jsp").forward(request,response);

request.getRequestDispatcher("/WEB-INF/student.jsp").forward(request,response);

request.getRequestDispatcher("/student/student.jsp").forward(request,response);
我看书上就是 这样写的,但是没有说在哪创建这个student文件 目录

作者: Godys9527   发布时间: 2011-11-23

一般来说如果是路径问题会报404错误,从你的错误来看,应该是jsp页面写得有问题。

作者: gonglil   发布时间: 2011-11-23

跳转的时候不用写上web应用的名字(自己处理页面)
重定向需要写上web应用的名字(让用户请求页面的时候)

作者: A328240784   发布时间: 2011-11-23

引用楼主 godys9527 的回复:
首先我想在Servlet中用这个跳转到一个jsp页面
request.getRequestDispatcher("/student/student.jsp").forward(request,response);
但是这个路径可能有问题。我研究了半天,现在起动Tomcat,打开IE,说找不到857的源。
Source not found for Scanner.getNextToken() ……


引用
解决的方法是:


在磁盘上新建一个目录作为新的工作区(workspace),然后在Eclipse中选择菜单项 File|Switch workspace 切换到新的工作区,将原来的项目导入。再重新启动Tomcat,问题解决。

也可以先将workspace中的全部项目导出,退出eclipse后,删除该workspace对应目录下的所有内容;然后启动eclipse并导入刚才导出的项目。

有人认为:该错误可能是由workspace目录下 .data\.plugins 中的插件出现混乱引起的

上面摘抄自人家,tomcat的配置,里面的路径是你的workspace路径下的.data\.plugins \tomcat,tomcat目录下面为空,所以无法找到tomcat,同时会提示400错误!这是我们可以用自己安装的tomcat,不用MyEclipse自带的tomcat,问题便可以解决了,当然你也可以对自带的tomcat重新配置下,也可以resume一下!

作者: kouyiSC   发布时间: 2011-11-23

http://topic.csdn.net/u/20070822/11/477297f5-3765-4b93-8caf-4cf1cbea91cb.html
http://hi.baidu.com/wkwj520/blog/item/6565d136a7e988bad0a2d3f9.html

去看吧

作者: kouyiSC   发布时间: 2011-11-23

<form method="post" action="servlet/JudgeServlet"> 
改为
<form method="post" action="/工程名称/servlet/JudgeServlet"> 即可成功运行!

作者: xy1353041735   发布时间: 2011-11-23

<form method="post" action="servlet/JudgeServlet"> 
改为<form action="${pageContext.request.contextPath}/servlet/JudgeServlet" method="post">也可

作者: xy1353041735   发布时间: 2011-11-23

你在webroot下建一个student文件夹试试

作者: zheng__dian   发布时间: 2011-11-23