자동 로그 인 실현 Cookie

2189 단어 JavaWeb
코드 가 대충 되 었 으 니,모두들 뿌리 지 마 세 요.
이번 작성 은 cookies 가 가 져 올 때 빈 포인터 이상 에 특히 주의해 야 합 니 다.
쿠키 를 사용 하여 자동 으로 로그 인 할 때 계 정 비밀 번 호 를 입력 하지 않 으 면 request.getParameter()는 null 값 을 되 돌려 주 고 null.equals(")를 사용 하여 빈 포인터 이상 을 방지 합 니 다.
@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// servlet     cookie  ,      
				String cookieUser=null;
				Cookie[] cookies=request.getCookies();
				if(cookies!=null){
					for(Cookie cookie:cookies)
					{
						if("user".equals(cookie.getName())){
							cookieUser=cookie.getValue();
							break;
						}
					}
				}
	
			//        , servlet         
			String userName=request.getParameter("userName");
			String password=request.getParameter("password");
			HttpSession session=null;
			
			if("admin".equals(userName)&&"123456".equals(password)||cookieUser!=null){
				//       
				
			//      ,        


			session=request.getSession();    //         ,              
															         //(      true)        ,         	
															        //(      false)        ,   null,       
			//    
			session.setAttribute("LOGIN_USER", cookieUser!=null?cookieUser:userName);


			//  cookie        
			//	1.      ,  cookie       
			// 2.  cookie  
			
			Cookie cookie=new Cookie("user",cookieUser!=null?cookieUser:userName );
			//    ,  cookie         
			cookie.setPath("/");
			cookie.setMaxAge(3600*2);//      
			// cookie      
			//      cookie           
			response.addCookie(cookie);
			//            ,         cookie  ,      


//			request.getRequestDispatcher("index.jsp").forward(request, response);
			//                ,  ,                、     
			
			//          :
					//	1.           ,      URL
					//	2. ajax   ,             
			response.sendRedirect("index.jsp");
			
			
		}else{
			//      ,
			session=request.getSession(true);
			session.removeAttribute("LOGIN_USER");
//			request.getRequestDispatcher("index.html").forward(request, response);
			response.sendRedirect("index.html");
		}

좋은 웹페이지 즐겨찾기