Servlet中 response.addCookie()不成功

来源:互联网 发布:linux删除空文件夹 编辑:程序博客网 时间:2024/05/01 23:12
 PrintWriter pw = response.getWriter(); pw.close();----------------------------------------------④ Cookie c = new Cookie("myname", "hero"); c.setMaxAge(3600); response.addCookie(c);--------------------------------------①

添加cookie在pw.close()之后 是不可以的,查看cookie会发现没有添加成功。

原因:


org.apache.catalina.connector.ResponseFacade源码片段

    public void addCookie(Cookie cookie) {        if (isCommitted())            return;--------------------------------②        response.addCookie(cookie);---------------③    }

对于①,将在②处return,所以执行不到③,

原因:④处pw.close();会使isCommitted()的值为TRUE。


 

1 0
原创粉丝点击