日期:2014-05-18  浏览次数:20671 次

关于RequestDispatcher的问题!
我写了一个JSP接受数据输入和两个Servlet在同一个包中,第一个处理完数据库操作后把视图传递给第二个Servlet,最后再传递给显示的JSP页面,是利用RequestDispatcher.forward(request,response);   来传递的.
首先是从JSP提交到第一个Servlet,但是为什么到了第一个Servlet后就不传递了,页面是空白.不知道为什么?

------解决方案--------------------
request 带的参数是请求参数,只能传递一次的。
------解决方案--------------------
1.你怎么知道没有传到第二个servlet?你第二个servlet连输出语句都没有。
2.
if(rs.next()){
count=rs.getInt(1);
}
else
if(count> 0) {......}
这句代码,如果你判断了rs.next()成立,那else以后的代码自然不可以执行,就是说if(count> 0)是不会执行的;这个servlet执行的结果就是得到了一个没起任何作用的count而已,下面往数据库添加记录的代码肯定不会执行的。
------解决方案--------------------
request 带的参数是请求参数,只能传递一次的。


回答错误,0分.


问题看了楼上的,我想你应该知道是哪里错了吧?
------解决方案--------------------
把 "else "去
------解决方案--------------------
失效了,在任何范围都失效了,除非你用session.setAttribute或者更大范围的application.setAttribute将数据保存到session或application中