一个servlet中如何跳转到1.jsp 后,可以继续执行跳转到2.jsp,而不会报错:
Cannot forward after response has been committed
代码如下:
request.getRequestDispatcher("1.jsp").forward(request, response);//Arequest.getRequestDispatcher("2.jsp").forward(request, response);//B
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实我遇到的是一个servlet中需要启动一个线程,并传入传给request,response,这个线程实时监控一台设备,根据监控的结果跳转页面,当第二次获取到值跳转页面会报错:
Cannot forward after response has been committed
该如何解决?
Cannot forward after response has been committed
代码如下:
request.getRequestDispatcher("1.jsp").forward(request, response);//Arequest.getRequestDispatcher("2.jsp").forward(request, response);//B
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实我遇到的是一个servlet中需要启动一个线程,并传入传给request,response,这个线程实时监控一台设备,根据监控的结果跳转页面,当第二次获取到值跳转页面会报错:
Cannot forward after response has been committed
该如何解决?
是请求已经被应答了。
request,response 应该是一一对应的。 不能随便应答吧?
--------------------------------------------------你在每次
request.getRequestDispatcher("2.jsp").forward(request, response);//B的后面,添加一句:
return;试一下。意思就是说,第一个页面 forward 之后,本身就不能再执行了,不要再去影响 response 了。
如果想再跳,你可以在1.jsp中,让它自动刷新,刷新时再载入第二个页面.
或者在1.jsp中再跳.