首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpServletResponseWrapper状态代码=0

HttpServletResponseWrapper状态代码=0
EN

Stack Overflow用户
提问于 2011-05-05 00:48:26
回答 1查看 484关注 0票数 0

我使用HttpServletResponseWrapper捕获servlet筛选器中的状态代码。它似乎工作得很好。

当一切正常时,我得到的状态是200。但是,当应用程序服务器找不到请求的项目时,我会返回0。但在浏览器中它显示为404。

有人能解释一下吗?

编辑:这是一个JAX-RS web应用程序,所以我猜如果应用程序服务器不能匹配它返回的路径而不设置状态,那么当web服务器看到状态为0时,它会将其替换为404。这听起来对吗?

EN

回答 1

Stack Overflow用户

发布于 2017-10-11 22:46:27

我迟到了,但答案可能仍然有用:

在HttpServletResponseWrapper中,需要实现以下方法:

代码语言:javascript
复制
@Override
    public void setStatus(int status) {

        super.setStatus(status);    
        this.status = status;
    }

    @Override
    public void sendError(int status) throws IOException {

        this.status = status;
        super.sendError(status);
    }

    @Override
    public void sendError(int status, String msg) throws IOException {

        this.status = status;
        super.sendError(status, msg);
    }

    @Override
    public void sendRedirect(String location) throws IOException {

        this.status = 302;
        super.sendRedirect(location);
    }

在404的情况下,不调用setStatus,而是调用sendError,您需要捕获那里的状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5886925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档