gpt4 book ai didi

java - 无法访问 App Engine 开发服务器上的 servlet 过滤器中的 session 数据

转载 作者:搜寻专家 更新时间:2023-11-01 01:09:13 26 4
gpt4 key购买 nike

我试图编写一个 session 过滤器来集中我的应用引擎网络应用程序中的授权检查。

我的过滤器看起来像这样:

@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest) request;
HttpServletResponse httpResp = (HttpServletResponse) request;
HttpSession session = httpReq.getSession();

httpReq.setCharacterEncoding("UTF-8");
httpResp.setCharacterEncoding("UTF-8");
httpResp.setContentType("application/json");

Boolean isAuthorized = (Boolean) session.getAttribute("isAuthorized");

if (!isAuthorized || isAuthorized == null) {
httpResp.sendError(HttpServletResponse.SC_UNAUTHORIZED);
} else {
chain.doFilter(request, response);
}
}

但是当我启动应用程序引擎开发服务器时,我遇到了这个异常:“org.mortbay.jetty.request cannot be cast to javax.servlet.http.httpservletresponse”。我做错了什么?

最佳答案

您正在尝试将“请求”对象转换为响应。

修改如下

HttpServletResponse httpResp = (HttpServletResponse) response;

关于java - 无法访问 App Engine 开发服务器上的 servlet 过滤器中的 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837152/

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