gpt4 book ai didi

java - 如何将消息从 HttpServletResponse.sendError(status, msg) 传递到 Controller ?

转载 作者:行者123 更新时间:2023-12-01 19:35:43 37 4
gpt4 key购买 nike

这是当前的java(1.8)spring调用堆栈,

  1. 拦截器

    preHandle(HttpServletRequest request, HttpServletResponse response) {
    response.sendError(403)
    }

  2. web.xml

    <error-page>
    <error-code>403</error-code>
    <location>/error/forbidden</location>
    </error-page>

  3. 错误 Controller

    @RequestMapping(value="/error/forbidden")
    public ModelAndView forbidden () {
    // display fixed message "forbidden" in the web browser
    }

现在在拦截器中,我想发回自定义消息, preHandle(HttpServletRequest, HttpServletResponse) {
response.sendError(403, "my msg")
}

Controller 更改为

`@RequestMapping(value="/error/forbidden")
public ModelAndView forbidden (HttpServletRequest request, HttpServletResponse response)`

问题是,当我调试 Controller 代码时,我还无法从响应对象中找到“我的消息”。

问题1:我的做法正确吗?

问题2:如果是这样,回复中的“我的消息”在哪里?如果没有,正确的方法是什么?

最佳答案

如果您想从拦截器的 preHandle 方法发送自定义消息作为响应,请尝试以下代码

response.setStatus(403);
response.getWriter().write("my msg");

关于java - 如何将消息从 HttpServletResponse.sendError(status, msg) 传递到 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59222770/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com