Ticket #92 (closed Bug: fixed)

Opened 14 years ago

Last modified 14 years ago

产品库动态 forward() 异常

Reported by: chenchongqi Owned by: yuanhuoqing
Priority: major Milestone:
Component: 产品库 Version: 产品库3.0
Keywords: Cc:
Due Date: 08/03/2012

Description

日志里很多这样的异常抛出:

java.lang.IllegalStateException?: forward() not allowed after buffer has committed.

我检查了一下,这个地方是否漏了个return?

			Matcher matcher=PATTERN_REGEX_COMMENT.matcher(requestUrl);
			if(matcher.find(0)){
				StringBuffer newUrl=new StringBuffer(String.valueOf(fileNameMap.get("comment")));
				newUrl.append(matcher.group(1));
				newUrl.append(StringUtils.isEmpty(matcher.group(2))?"":"&type="+matcher.group(2));
				newUrl.append(StringUtils.isEmpty(matcher.group(4))?"":"&flag="+matcher.group(4));
				newUrl.append(StringUtils.isEmpty(matcher.group(6))?"":"&cmtid="+matcher.group(6));
				newUrl.append(StringUtils.isEmpty(matcher.group(8))?"":"&pageNo="+matcher.group(8));
				logger.info("pdlib 1 doFilter:newurl="+newUrl.toString());
				httpRequest.getRequestDispatcher(newUrl.toString()).forward(httpRequest, httpResponse);
			}

Change History

comment:1 Changed 14 years ago by yuanhuoqing

  • Status changed from new to closed
  • Due Date set to 08/03/2012
  • Resolution set to fixed

经测试,加了return后异常消失,并已上线。
在response.sendRedirect()或response.setHeader("Location","")或 <jsp:forward page="" />前调用out.flush()方法,也会报java.lang.IllegalStateException?: forward() not allowed after buffer has committed.

comment:2 Changed 14 years ago by yuanhuoqing

Last edited 14 years ago by yuanhuoqing (previous) (diff)
Note: See TracTickets for help on using tickets.