| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4044 人关注过本帖
标题:[求助]关于Cannot forward after response has been committed的问题
取消只看楼主 加入收藏
xqiang
Rank: 1
等 级:新手上路
帖 子:291
专家分:0
注 册:2006-2-23
收藏
 问题点数:0 回复次数:5 
[求助]关于Cannot forward after response has been committed的问题
Cannot forward after response has been committed
这个报错是什么原因?要怎么解决啊?
谢谢!!
搜索更多相关主题的帖子: response Cannot committed forward 
2006-08-16 15:26
xqiang
Rank: 1
等 级:新手上路
帖 子:291
专家分:0
注 册:2006-2-23
收藏
得分:0 

public class Position extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
loginbean.hasAuthority(request, response);


Function.Location(request, response, "index.jsp");
}
}

loginbean.java中:
public static void hasAuthority( HttpServletRequest request, HttpServletResponse response )
throws ServletException, IOException
{
HttpSession session = request.getSession();
UserInfo user = (UserInfo)session.getAttribute( "session" );

if( user==null ) {

Function.Location(request, response, "login.jsp");

}
}


Function.java中

public static void Location( HttpServletRequest request, HttpServletResponse response, String Location )
throws ServletException, IOException
{
RequestDispatcher dispatcher = request.getRequestDispatcher( Location );
dispatcher.forward( request, response );
return;
}

就是这样喽,
程序本身应该不会有问题吧?
还请高手们指点指点
谢谢 !!


相信自己可以的!!! http://www.
2006-08-16 20:41
xqiang
Rank: 1
等 级:新手上路
帖 子:291
专家分:0
注 册:2006-2-23
收藏
得分:0 

这样子自然不会报错,可这不是我的需求

其它的不说,先看这二段

HttpSession session = request.getSession();
UserInfo user = (UserInfo)session.getAttribute( "session" );

String location = "index.jsp";

if( user==null ) {

location = "login.jsp";

}

………………

RequestDispatcher dispatcher = request.getRequestDispatcher( location );
dispatcher.forward( request, response );


这两段之间是还有很有的代码要执行的,
你这样的话能完成登录判断的需求吗?
你不要告诉我中间的代码执不执行都不一样哦

再说了,那个判断函数在每个页面都要用,不封装起来不太好吧?

还有一个是问题的关键
在dopost里面调用的函数即loginbean.hasAuthority(request, response) 这个函数,
在这个函数里面有没有办法让doPost()提前结束?即不要执行这个函数以后的内容?

在这个函数里面加return的话只能提前结束这个函数,而不能结束doPost(),

还有一点我不明白的也是要说明的是:
我的这个程序是用NetBeans IDE 5.0开发的,NetBeans IDE 5.0 本身就有一个绑定的Tomcat 5.5.9, 在这个Tomcat的测试环境里我的这个程序是没有错的,一切正常,
但是我把它放在我单独安装的Tomcat 5.5.7里面就不行了,它会报错:Cannot forward after response has been committed

是不是在Tomcat里有哪些设置可以解决这个问题的?
还请高手指点,谢谢!


相信自己可以的!!! http://www.
2006-08-17 09:02
xqiang
Rank: 1
等 级:新手上路
帖 子:291
专家分:0
注 册:2006-2-23
收藏
得分:0 
那么说还是要在doPost()中判断?

loginbean.hasAuthority(request, response)
这个函数里面有没有办法让doPost()提前结束?即不要执行这个函数以后的内容?
谢谢啊

相信自己可以的!!! http://www.
2006-08-17 13:57
xqiang
Rank: 1
等 级:新手上路
帖 子:291
专家分:0
注 册:2006-2-23
收藏
得分:0 
什么叫做能不能结束一个普通的方法?不太明白也!

相信自己可以的!!! http://www.
2006-08-18 08:24
xqiang
Rank: 1
等 级:新手上路
帖 子:291
专家分:0
注 册:2006-2-23
收藏
得分:0 
我想我的流程是很清楚的,
不过刚好跟你的相反

我是想在a()里面把b()结束掉,

这样的话,在doPost()只要调用一个a()就可以了,
而不再需要if什么的,
这样在doPost()里面看起来不是更简洁吗?

要是真的不能这样的话,也就只有你说的那样喽,呵呵

谢谢啊

相信自己可以的!!! http://www.
2006-08-19 08:25
快速回复:[求助]关于Cannot forward after response has been committed的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015043 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved