`
fire314159
  • 浏览: 30703 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

关于"response already committed" 的问题

阅读更多

最近遇到一个问题,觉得挺有意思。

现在正在将一个项目从web service 转到 EJB2 (是否觉得很奇怪?),转移过程中出现了一些问题。其中一个exception如下:

java.lang.IllegalStateException:   response   already   committed

当时第一个反应是可能页面 forward跳转或者buffer size不够了。因为我们用的是公司自己开发的web framework。所以所有的request flow control 都是封装起来了。xml配置文件之前在webservice下是可以的,页面也一直没有问题。

在网上google了一下,陈述的观点无非是response已经commit过了,也许是因为人为,也许是因为页面大小超过了page的buffer。于是乎尝试用response.setBufferSize()修改page大小,但没有效果。由于第一次遇到这样的问题,而且用的是websphere的portal和公司的framework,所以一开始找不到头绪。

确定是jsp页面的问题后,开始用最笨的方法,尝试着删减页面的代码,最后问题出在了一句代码。

HashMap map = xxxResultBean.getResultMap();

原来这个method返回的是一个TreeMap,用HashMap来reference就出现了casting的问题。由于这个Bean里面定义的field是Map,所以complie是不会有问题,直到page真的load的时候才会crash。

但问题来了,为什么之前在web  service的时候没有问题,但到了EJB就不行了呢?原来在web service和EJB的时候,对class的定义会有所不同,EJB比较遵从原来的class,而web service则不太一样。

一个小问题,用最笨的方法detect。

分享到:
评论

相关推荐

    Cannot forward after response has been committed

    通过仔细审查代码、优化逻辑和正确处理异常,可以有效地解决"Cannot forward after response has been committed"的问题。 关于提供的"filterTest"文件,可能是用于测试过滤器功能的示例代码。分析和理解这段代码...

    java.lang.IllegalStateException: Cannot call sendError() after the response has

    在Java的Web开发中,`java.lang.IllegalStateException: Cannot call sendError() after the response has been committed` 是一个常见的错误,通常发生在尝试在HTTP响应已经发送到客户端之后调用`sendError()`方法...

    HttpWebRequest出错.Section=ResponseHeader Detail=CR

     Section=ResponseHeader Detail=CR 后面必须是 LF The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF 主体意思是微软没有容忍不符合RFC 822...

    response jsp 中的重要知识点

    `resetBuffer()`可以清空缓冲区,`isCommitted()`检查是否已提交响应。 9. **关闭响应** 一旦响应被提交,就不能更改。但可以通过`reset()`来清除所有设置,使响应回到初始状态。然而,一旦客户端开始接收数据,就...

    55 Read Committed隔离级别是如何基于ReadView机制实现的?l.pdf

    在探讨数据库事务隔离级别时,Read Committed(简称RC)是一个重要的概念。RC隔离级别意味着,当事务运行期间,如果别的事务对数据进行修改并且提交了,当前事务是可以读取到这些修改后的数据的。然而,这也导致了不...

    temboard-master_python_Committed_

    但是,它仍然可能存在不可重复读(non-repeatable read)和幻读(phantom read)的问题。 3. **可重复读(Repeatable Read)**:这个级别保证在事务内部,多次读取相同数据会得到相同结果,防止不可重复读。然而,...

    Websphere下部署与tomcat程序配置的差异

    Response already committed. 的异常。解决方法是升级到 6.1.0.17 版本。 9. 修改 Websphere 的 JSP 编译 JDK 版本 修改 Websphere 的 JSP 编译 JDK 版本可以解决一些问题。修改方法是,找到发布之后的应用目录,...

    svn关键词BASE, HEAD, COMMITTED, PREV的深入理解.rar

    例如,当你发现某个错误并想要回滚到某个已知的正常版本时,可以使用PREV和COMMITTED来确定问题出现的时间点。同时,BASE和HEAD用于保持你的工作副本与远程仓库同步,确保你始终在处理最新的代码。 在实际开发中,...

    Efficient Proofs that a Committed Number Lies in an Interval.pdf

    ##### 传统方法的问题 - **第一种方法**:虽然能够证明数字属于较小的区间,但是计算成本过高。该方法通常涉及到复杂的数学运算,比如大量的指数运算,这使得实际应用中效率低下。 - **第二种方法**:虽然计算...

    行业-55 Read Committed隔离级别是如何基于ReadView机制实现的?l.rar

    总结来说,Read Committed隔离级别通过ReadView机制实现了对数据一致性的重要保障,允许并发事务高效地运行而不引入脏读问题。理解这一机制有助于我们更好地设计和优化数据库事务,以满足不同场景下的需求。在实际...

    Committed - NewTab Todo and Goal Manager-crx插件

    NEW *-在侧面菜单中添加了Committed源代码的链接,以便任何有兴趣的人都可以参与! 更新3.0.2-您现在可以选择将待办事项存储在本地存储或Chrome存储中-漏洞修复更新3.0.1-创建待办事项列表-添加待办事项的链接-...

    解决Struts2中下载文件时点击取消按钮后台报错问题

    在读取文件并写入输出流的过程中,我们检查`ServletResponse`是否已提交(`isCommitted()`)以及`ServletOutputStream`是否已被关闭(`isClosed()`)。如果任一条件满足,就立即跳出循环,避免不必要的数据传输和...

    MySQL_DBA面试题

    - **读已提交(READ COMMITTED)**:防止脏读,但可能出现不可重复读。 - **可重复读(REPEATABLE READ)**:MySQL默认级别,防止脏读和不可重复读,但可能出现幻读。 - **串行化(SERIALIZABLE)**:最严格的...

    Java常见异常

    11. **java.io.IOException: response already committed** HTTP响应已提交,无法再次修改。确保在HTTP响应被发送给客户端后不再尝试修改它。 12. **java.lang.ClassCastException: org.apache.catalina.util....

    关于JSP的学习经验总结

    `response.isCommitted()`方法用来检查是否已经将数据发送到客户端。 【服务端重定向】 重定向分为以下三种方式: 1. **使用`response.sendRedirect()`**:此方法修改HTTP响应头,告诉浏览器加载新的URL,实现...

    HP-dos-AMDbrand.GHO

    HP部分笔记本,重写BIOS或更换主板后,开机提示“WANING!!-Machine is not in committed state!”屏幕出现"主机处于未定义状态"警告。

    Committed - Test Version-crx插件

    语言:English (United States) 管理您的NewTab中的每周目标和Todos *警告* 这是一个不稳定的版本,用于测试未发布的功能。 稳定版本:https://chrome.google.com/webstore/detail/commited-newtab-todo-和/...

    Hibernate 事物隔离级别 深入探究

    Read Committed 隔离级别可以避免脏读问题,但是它不能避免不可重复读、虚读和第二类丢失更新问题。 四、Read Uncommitted 隔离级别 Read Uncommitted 隔离级别是最低级别的隔离级别,它不能避免任何并发问题。在...

    SessionPage 0.1.7 Stable Released. Committed to AMC.

    version 0.1.7. Now much more stable and stable. welcome to try. please rename the file ext to \"xpi\". 博文链接:https://babyheart.iteye.com/blog/44619

Global site tag (gtag.js) - Google Analytics