Servlet Session Filter ajax 登录功能

1、login.html




    
    Title
    







2、LoginServlet

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(name = "LoginServlet",value = "/LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        HttpSession session = request.getSession();
        if(username!=null&&password!=null&&username.equals("admin")&&password.equals("123456")){
            session.setAttribute("username",username);
            session.setAttribute("password",password);
            response.getWriter().print("1");
        }else {
            response.getWriter().print("0");
        }
    }
}

3、closeLogin()

  • 退了
  • function closeLogin() { $.ajax({ type:"post", url:"CloseLoginServlet", data:{ "close":"close" } }); window.location.href="http://localhost:8080/pages/login.html"; }

    4、CloseLoginServlet

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    
    @WebServlet(name = "CloseLoginServlet",value = "/CloseLoginServlet")
    public class CloseLoginServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request,response);
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            HttpSession session = request.getSession();
            session.setAttribute("username","");
            session.setAttribute("password","");
        }
    }
    

    5、successFilter(可以定义多个Filter,在web.xml里定义再创建Filter类,比如完成统一设置编码的功能等)

    import java.io.IOException;
     
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    public class successFilter implements Filter{
    //建立一个过滤器对象用于实现对success.jsp页面当中的请求信息进行过滤操作
    	@Override
    	public void destroy() {
    		System.out.println("进行过滤器对象的销毁操作");
    	}
     
    	@Override
    	public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
    			throws IOException, ServletException {
    		System.out.println("执行过滤操作");
    		HttpServletRequest request=(HttpServletRequest)req;//进行request对象的强制转化
    		HttpServletResponse response = (HttpServletResponse)res;
    		HttpSession session=request.getSession();//通过Httprequest对象来进行session对象的获取操作
    		if(session.getAttribute("username")==null ||
    				!session.getAttribute("username").equals("admin")) {
    			response.sendRedirect("http://localhost:8080/pages/login.html");
    		}
    		System.out.println("过滤权限转交之前");
    		chain.doFilter(req, res);//进行控制权限的转交操作
    		System.out.println("过滤权限转交之后");
    	}
     
    	@Override
    	public void init(FilterConfig arg0) throws ServletException {
    		System.out.println("进行过滤器对象的初始化操作:");
    	}
    	
    }
    

    web.xml

    
    
    
      Archetype Created Web Application
      
        successFilter
        filter.successFilter
      
      
        successFilter
        /index.html
      
    
    

    你可能感兴趣的:(Servlet Session Filter ajax 登录功能)