2009-9-14 16:16:54 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:610)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:186)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
……
java.lang.IllegalStateException: getOutputStream() has already been called for this response
这是我当前碰到的异常,此异常非一般的图片验证码输出流之类的,
产生缘由:输入顶级或二级域名,自定义标签处理(标签核心代码见下),然后跳转到相应 Action,action里面若没有静态页就重新生成一遍,若有的话就直接跳转去访问静态页
自定义标签
try {
RequestDispatcher rs = request.getSession().getServletContext().getRequestDispatcher(todo);
rs.forward(request, response);
} catch (IOException e) {
e.printStackTrace();
this.forword(request, response, URLForHomeSiteIndex);
}
分享到:
相关推荐
在Java Web开发中,"getOutputStream() has already been called for this response" 是一个常见的错误,通常出现在使用Servlet或JSP时。这个错误意味着在HTTP响应中,`getOutputStream()`已经被调用,然后尝试再次...
纠结了半天的 java.lang.IllegalStateException: getOutputStream() has already。这个问题困扰了半天,在网上查阅了大量资料 出这个错误一般就是下面2个.....
在使用Tomcat 6服务器部署和运行Java Server Pages (JSP) 时,可能会遇到一个特定的异常:“getOutputStream() has already been called for this response”。该异常发生在尝试向响应对象中写入数据时,已经调用了...
验证码出现getOutputStream() has already been called for this response错误解决
标题 "java.lang.IllegalStateException: OutputStream already obtain" 涉及到的是Java编程中的一个常见错误,特别是当处理I/O流时。这个异常通常在尝试获取已经存在的OutputStream实例时抛出,表明该输出流已经被...
通过仔细审查代码、优化逻辑和正确处理异常,可以有效地解决"Cannot forward after response has been committed"的问题。 关于提供的"filterTest"文件,可能是用于测试过滤器功能的示例代码。分析和理解这段代码...
解决了getOutputStream() has already been called for this response. 并将产生验证码的逻辑从JSP页面中分离出来,单独写了一个类 便于重用。
标签中的"源码"提示我们可能需要深入理解`ServletOutputStream` 和`InputStream` 的内部实现,包括它们如何与网络I/O交互,以及如何处理缓冲区和数据编码等问题。而"工具"可能指的是使用这些流类来构建各种服务器端...
getOutputStream 方法返回的字节流对象类型是 ServletOutputStream,它可以直接输出字节数组中的二进制数据。如果 Servlet 要输出二进制格式的响应正文,就应该使用 getOutputStream 方法。 getWriter 方法将 ...
问题1:TOMCAT下载文件出错:org.apache.catalina.connector.ClientAbortException. 问题2:TOMCAT记录接收数据大小、发送数据大小和请求处理时间
### Java常见问题集锦 #### 一、设置Java2(JDK1.2)的环境变量 **问题**:如何设置Java2(JDK1.2)的环境变量? **解答**: 1. **环境变量概述**:Java2安装完成后,为了确保能够顺利运行Java程序,需要配置系统的...
在实际开发中,可能还会遇到如蓝牙连接稳定性、设备配对、权限请求等问题,这些问题需要根据具体情况进行优化处理。提供的"BluetoothSeriaPortDemo"是一个很好的起点,它已经实现了基本的蓝牙串口通信功能,开发者...
在Java编程环境中,进行串口通信时,常常会遇到一个问题:缺少`gnu.io`包,导致无法正常编译或运行程序。这个问题主要出现在使用RXTX库进行串口操作的项目中。RXTX是一个开源的Java库,它提供了与硬件进行串行通信的...
例如,代码`new PrintWriter(new OutputStreamWriter(resp.getOutputStream(), "utf-8"))`就是设置输出流的编码为UTF-8,以解决返回中文时可能出现的乱码问题。这里的`utf-8`是关键,它应与浏览器期望的编码一致。 ...
本文将深入探讨如何实现这两种语言间的Socket通信,并解决在Flash Player的安全沙箱问题。 首先,让我们理解什么是Socket通信。Socket是网络编程中的一个概念,它允许两个程序通过TCP/IP协议进行双向通信。在Java中...
Java编程语言在软件开发中扮演着重要角色,其常见问题和解决方法对于开发者来说至关重要。以下是一些关于Java的重要知识点: 1. **Java环境变量配置**: - `JAVA_HOME`:这是Java开发环境的核心,指向Java ...
3. 写入响应体:`getOutputStream()`或`getWriter()`方法分别用于获取字节流和字符流,从而向客户端发送数据。例如,使用`getOutputStream().write()`可以输出二进制数据,`getWriter().print()`则适合输出文本。 ...
EasyExcel是一个基于Java的高性能、易用的Excel读写框架,它在处理大数据量的Excel时表现优秀,避免了内存溢出的问题。EasyExcel的核心设计理念是“按需加载”,即在读取Excel时只加载当前处理的数据行,极大地优化...