I tried to write a session filter to centralize the authorization check in my web application.
My filter looks like this:
@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); } }
But when I start the application engine developer server, I welcome this exception: "org.mortbay.jetty.request cannot be passed to javax.servlet.http.httpservletresponse". What am I doing wrong?
source share