重定向到取断言地址:http://serpassport.vnet.cn/GroupUdbInterfaces/SSOFromUAM.aspx
重定向到取断言地址加ticket的完整地址:http://serpassport.vnet.cn/GroupUdbInterfaces/SSOFromUAM.aspx?UATicket=1523
<2009-10-12 下午09时15分04秒 CST> <Error> <HTTP> <BEA-101020> <[weblogic.servlet.internal.WebAppServletContext@1327710 - appName: 'UAWeb', name: 'UAWeb', context-path: '/UAWeb'] Servlet failed with Exception
java.lang.IllegalStateException: Response already committed
        at weblogic.servlet.internal.ServletResponseImpl.objectIfCommitted(ServletResponseImpl.java:1345)
        at weblogic.servlet.internal.ServletResponseImpl.sendRedirect(ServletResponseImpl.java:773)
        at com.ztesoft.ua.web.InitUDBCustInfo.doGet(InitUDBCustInfo.java:173)
        at com.ztesoft.ua.web.InitUDBCustInfo.doPost(InitUDBCustInfo.java:226)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        Truncated. see log file for complete stacktrace
程序顺序执行下来都没问题,就到重定向就出错了。
不存在先out.close(); 
之后又对out进行了操作的情况。
请高手指点一下。

解决方案 »

  1.   

    这里是代码的片段
    System.out.println("重定向到取断言地址加ticket的完整地址:" + udbURL+"?UATicket=" + ticket);
    response.sendRedirect(udbURL + "?UATicket=" + ticket);// 重定向回业务系统
    return;
      

  2.   

    response.sendRedirect(udbURL + "?UATicket=" + ticket);// 重定向回业务系统后不要放东西试试。
      

  3.   

    System.out.println("重定向到取断言地址加ticket的完整地址:" + udbURL+"?UATicket=" + ticket);
    response.sendRedirect(udbURL + "?UATicket=" + ticket);// 重定向回业务系统 
    在这之前你用response做过什么?
    代码放全。
      

  4.   

    在response之前还有个重定向。
    不是自己开发的代码,由于调试环境特别,无法在本机测试,没能及时查出这个问题,
    大意了
    谢谢上面的几位朋友,少等给分
      

  5.   

    总结一下出这种异常的三种情况。
    一种是先out.close(); 
    之后又对out进行了操作的情况。
    二是在执行重定向后有没有return
    三是在执行response前,前面还有一次重定向(这种情况估计很少,人为失误的情况很少见这种)有不完善的,请大家补充