JAvaユーザーログイン情報をcookiesで保存する

5447 ワード


, “ ”, , “success.jsp” 。 Cookie , , 。

① . , “ “, :login.jsp

② . , check.jsp, “success.jsp” 。

③ . , “success.jsp” , 。 Cookie 。

① , “ ” “success.jsp”
.
login.jsp

[java] view plaincopy


ログインプログラムユーザid:パスワード:パスワードを覚えますか?保存しない>1日>1週間check.jsp[c-sharp] view plaincopy public static final String DBDRIVER = "org.gjt.mm.mysql.Driver"; public static final String DBURL = "jdbc:mysql://localhost:3306/jspDemo";public static final String DBASER="root";public static final String DBASS="root";%>Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;boolean flag=false;//ログイン成功または失敗を示すフラグ%>String userid=request.getParameter("userid") ; //受信フォームパラメータString password=request.getParameter("password") ; //受信フォームパラメータString savetime=request.getParameter("savetime"); System.out.println(savetime); try{ Class.forName(DBDRIVER) ; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; String sql = "SELECT id FROM tuser WHERE id=? AND password=?"; pstmt = conn.prepareStatement(sql) ; pstmt.setString(1,userid) ; pstmt.setString(2,password) ; rs = pstmt.executeQuery() ; if(rs.next(){//コンテンツがある場合は、ここで実行し、クエリーが表示され、正当なユーザーflag=true;session.setAttribute("userid",userid);//Cookie Cookie cid=new Cookie("userid",userid);Cookie cpass=new Cookie("password",password)に検証情報を保存する; cid.setMaxAge(Integer.parseInt(savetime)); cpass.setMaxAge(Integer.parseInt(savetime)); response.addCookie(cid); response.addCookie(cpass); } }catch(Exception){}finally{try{conn.close();//接続を閉じると、すべての操作が閉じます}catch(Exception){e.printStackTrace()}%>if(flag){//ログイン成功、success.jsp%>}else{//ログイン失敗、failure.jsp%>}%>CookieCheck.jsp [java] view plaincopy public static final String DBDRIVER = "org.gjt.mm.mysql.Driver"; public static final String DBURL = "jdbc:mysql://localhost:3306/jspDemo";public static final String DBASE="root";public static final String DBASS="root";%>Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;boolean flag=false;//ログイン成功または失敗を示すフラグ%>if(session.getAttribute("userid")==null){Cookie[] c=request.getCookies(); String userid=null; String password=null; if(c!=null){for(int i=0;i if("userid".equals(c[i].getName())){userid=c[i].getValue();//Cookie情報を受信}if("password".equals(c[i].getName()){password=c[i].getValue();//Cookie情報を受信} } if(userid!=null&&password!=null){ try{ Class.forName(DBDRIVER) ; conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; String sql = "SELECT id FROM tuser WHERE id=? AND password=?"; pstmt = conn.prepareStatement(sql) ; pstmt.setString(1,userid) ; pstmt.setString(2,password) ; rs = pstmt.executeQuery() ; if(rs.next(){//コンテンツがある場合は、クエリーが実行され、合法的なユーザーflag=true;session.setAttribute(「userid」,userid)}}catch(Exception){}finally{try{conn.close();//接続を閉じると、すべての操作が閉じます}catch(Exception){e.printStackTrace()}}%>succss.jsp[java] view plaincopy if(session.getAttribute("userid")!=null){%>ログイン成功、いらっしゃいませ!}else{%>まだログインしていません!}%>failue.jsp[xhtml]view plaincopyログインに失敗しました.再上陸する