J'essayais d'écrire un filtre de session pour centraliser la vérification des autorisations dans mon application Web du moteur de l'application.Impossible d'accéder aux données de session dans le filtre de servlet sur le serveur de développement du moteur de l'application
Mon filtre ressemble à ceci:
@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);
}
}
Mais quand je lance le serveur moteur app dev Je saluai cette exception: « org.mortbay.jetty.request ne peut pas être jeté à javax.servlet .http.httpservletresponse ". Qu'est-ce que je fais mal?
'HttpServletResponse httpResp = (HttpServletResponse) request'; Relisez cette ligne. – asgs