Tomcat 4的错误,谁见过啊,这到底是什么问题呢?

bitou 2005-07-22 04:33:06
全部错误提示如下:
---------------------------------------------------------------------------------------
java.lang.IllegalStateException
at org.apache.coyote.tomcat4.CoyoteResponseFacade.sendRedirect(CoyoteResponseFacade.java:290)
at org.apache.jsp.costview_jsp._jspService(costview_jsp.java:134)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:133)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)


-----------------------------------------------------------------------------------
costview.jsp

按照提示的JSP错误在此

costview_jsp.java(下面这段是从编译后的JSP里找出来的错)

if(ChoseRST.size()<=0){
response.sendRedirect("studentlist.jsp");//就是这一句报错,百思不得其解
}


------------------------------------------------------------------------
但这些错误只在Tomcat上出现,在resin 与 websphere等其它服务器上没有问题,不知如何解决,大家帮帮忙。
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bitou 2005-07-25
  • 打赏
  • 举报
回复

但这种错误只出现在Tomcat上啊,原样的程序在其它web Server上跑就没有问题,比如resin,websphere ,这又是什么原因呢?


jsp中的代码在这里
----------------------------------------------------------------------------
<%
if(!CommonClass.Tools.isValidUrl(request))
out.println("<script language='javascript'>alert('访问地址非法!');history.back();</script>");

/*
这一块是获取参数
*/

if(request.getParameter("flag")!=null&&request.getParameter("flag").equals("yes")){
boolean ret = false;
/*
这一块是业务操作,不会有问题,成功与否返回一个布尔值给 ret
*/
if(!ret){//如果业务操作不成功
out.println("<script language=\"javascript\">alert(\"数据更新出错!\");history.back();</script>");
}
else{
if(request.getParameter("urlflag")!=null&&request.getParameter("urlflag").equals("true")){
response.sendRedirect("effectivestudents.jsp");
}
else{
response.sendRedirect("studentlist.jsp");
}
}

}

/*
这里是获取数据,返回一个包含结果集的vector对象
*/

if(rst.size()<=0){
response.sendRedirect("studentlist.jsp");//------这里报错
}
else{
%>
//else中的代码就是有记录的情况下运行,比较多,就不贴出来了
<%}%>
不徻写代码 2005-07-25
  • 打赏
  • 举报
回复
????好快
bitou 2005-07-25
  • 打赏
  • 举报
回复
问题已解决 ,谢谢humanity(总是偷窥 Java & XML)
humanity 2005-07-23
  • 打赏
  • 举报
回复
forward, sendRedirect , 都只能一次 "干杯" 。
如果前面已经输出过任何东西都是错误的状态,

只要你朝 Socket 里面写过了东西(就是直接在 jsp 中写过了 HTML
或者使用过 out.println 或者 <%= xxx %> ),

就不能再换页面了(forward/redirect)。

如果你先 forward/redirect ,那么后面也不能再出现任何有意义的代码
不能 再写 HTML, out.println, <%=xxx%>.
,只能 return 了。

xiangbo520 2005-07-22
  • 打赏
  • 举报
回复
你的完整的程序呢???
zyhowe 2005-07-22
  • 打赏
  • 举报
回复
在if(ChoseRST.size()<=0){
response.sendRedirect("studentlist.jsp");//就是这一句报错,百思不得其解
}

之前有字符输出吧

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧