0
フィルターコードなぜ下のコードでFilterコードのsession.getAttribute( "name")が常にnullですか?
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest)request;
HttpSession session=req.getSession();
String name=(String) session.getAttribute("name");
System.out.println(name);
if(session == null || session.getAttribute("name") == null)
request.getRequestDispatcher("/RedLogin.html").forward(request, response);
else
chain.doFilter(request, response);
}
サーブレットは、ログインを確認する:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("uname");
String password = request.getParameter("pname");
Authenticate authenticate = new Authenticate();
try {
if (authenticate.authenticator(username, password)) {
HttpSession session = request.getSession(true);
session.setAttribute("name", username);
RequestDispatcher dis = request.getRequestDispatcher("/welcome.jsp");
dis.forward(request, response);
} else {
response.sendRedirect("RedLogin.html");
}
} catch (Exception e) {
e.printStackTrace();
}