这是当前的Java(1.8)spring调用堆栈,
拦截器
preHandle(HttpServletRequest request, HttpServletResponse response) {
response.sendError(403)
}
web.xml
<error-page>
<error-code>403</error-code>
<location>/error/forbidden</location>
</error-page>
errorController
@RequestMapping(value="/error/forbidden")
public ModelAndView forbidden () {
// display fixed message "forbidden" in the web browser
}
现在在拦截器中,我想发回自定义消息,
preHandle(HttpServletRequest, HttpServletResponse) {
response.sendError(403, "my msg")
}
控制器更改为
`@RequestMapping(value="/error/forbidden")
public ModelAndView forbidden (HttpServletRequest request, HttpServletResponse response)`
问题是,当我调试控制器代码时,我还无法从响应obj中找到“我的味精”。
Q1:我做对了吗?
Q2:如果是,响应中“ my msg”在哪里?如果没有,请问正确的方法是什么?
答案 0 :(得分:0)
如果要通过Interceptor的preHandle方法发送自定义消息,请尝试以下代码
response.setStatus(403);
response.getWriter().write("my msg");