无法访问应用引擎开发服务器上的 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,解法