无法访问应用引擎开发服务器上的 servlet 过滤器中的会话数据

Posted

技术标签:

【中文标题】无法访问应用引擎开发服务器上的 servlet 过滤器中的会话数据【英文标题】:Unable to access session data in servlet filter on app engine dev server 【发布时间】:2011-08-15 18:44:43 【问题描述】:

我试图编写一个会话过滤器来集中在我的应用引擎 Web 应用中进行授权检查。

我的过滤器如下所示:

@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 无法转换为 javax.servlet.http.httpservletresponse”。我做错了什么?

【问题讨论】:

HttpServletResponse httpResp = (HttpServletResponse) request;再读一遍。 【参考方案1】:

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

如下修改

HttpServletResponse httpResp = (HttpServletResponse) response;

【讨论】:

以上是关于无法访问应用引擎开发服务器上的 servlet 过滤器中的会话数据的主要内容,如果未能解决你的问题,请参考以下文章

部署web应用到linux云服务访问servlet报404,解法

从 servlet 访问 FileNet 内容引擎

Servlet

无法将图像文件从 Android 应用程序发布到托管在 Tomcat 上的 Java servlet

Servlet概念入门

1.Servlet基础总结