다른 보통의 HTTP 서블릿에서 필터 서블릿의 세션 속성에 액세스 할 수 없습니다 : 내가 세션 속성을 설정하기 위해 필터 서블릿을 사용하면내가 여기에 문제가
, 난 다른 일반 HTTP 서블릿에서 세션 속성을 검색하려고를하지만, 보이는 getAttribute ('system.userinfo') 아무것도 검색 할 수 없습니다. 이게 뭐가 잘못 됐니? 감사!
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest) request;
HttpServletResponse httpResp = (HttpServletResponse) response;
HttpSession session = httpReq.getSession();
httpReq.setCharacterEncoding("UTF-8");
UserDTO dto = new UserDTO();
session.setAttribute("system.userinfo", dto);
chain.doFilter(request, response);
}
public class FileUpload extends HttpServlet {
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
// cannot get anything here
UserDTO userinfo = (UserDTO)request.getSession(false).getAttribute("system.userinfo");
}
}
두 서블릿이 동일한 웹 응용 프로그램에 있습니다.
어떻게 테스트 했습니까? 어떤 요청 방법 - GET/POST? – adatapost
체인의 필터가 세션을 지우고 있지 않습니까? – kosa
다른 리스터 서블릿도 사용하고 있습니다. 속성을 검색 할 수 있습니다. 그래서 나는 그 속성을 지울 것이라고 생각하지 않는다. – terry