当前位置 : 主页 > 编程语言 > java >

JSP的Cookie在登录中的应用

来源:互联网 收集:自由互联 发布时间:2021-06-25
一 功能需求 实现记忆用户名和密码功能。 二 代码 1、login.jsp %@ page language = "java" import = "java.util.*, java.net .*" contentType = "text/html; charset=utf-8" % % String path = request.getContextPath(); String base
一 功能需求 实现记忆用户名和密码功能。   二 代码 1、login.jsp <%@  page  language = "java"  import = "java.util.*, java.net .*"  contentType = "text/html; charset=utf-8" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+ "://" +request.getServerName()+ ":" +request.getServerPort()+path+ "/" ; %>   <! DOCTYPE  HTML  PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN"> < html >    < head >      < base  href = " <%= basePath %> " >          < title > My JSP 'index.jsp' starting page </ title >          < meta  http-equiv = "pragma"  content = "no-cache" >          < meta  http-equiv = "cache-control"  content = "no-cache" >          < meta  http-equiv = "expires"  content = "0" >              < meta  http-equiv = "keywords"  content = "keyword1,keyword2,keyword3" >          < meta  http-equiv = "description"  content = "This is my page" >          <!--         <link  rel =" stylesheet " type="text/ css "  href ="styles.css">         -->    </ head >      < body >      < h1 > 用户登录 </ h1 >      < hr >      <%       request.setCharacterEncoding( "utf-8" );       String username= "" ;       String password =  "" ;       Cookie[] cookies = request.getCookies();        if (cookies!= null &&cookies.length>0)       {             for (Cookie c:cookies)            {                if (c.getName().equals( "username" ))               {                    username =  URLDecoder.decode(c.getValue(), "utf-8" );               }                if (c.getName().equals( "password" ))               {                    password =  URLDecoder.decode(c.getValue(), "utf-8" );               }            }       }      %>      < form  name = "loginForm"  action = "dologin.jsp"  method = "post" >         < table >           < tr >             < td > 用户名: </ td >             < td >< input  type = "text"  name = "username"  value = " <%= username  %> " /></ td >           </ tr >           < tr >             < td > 密码: </ td >             < td >< input  type = "password"  name = "password"  value = " <%= password  %> "  /></ td >           </ tr >           < tr >             < td  colspan = "2" >< input  type = "checkbox"  name = "isUseCookie"  checked = "checked" /> 十天内记住我的登录状态 </ td >           </ tr >           < tr >             < td  colspan = "2"  align = "center" >< input  type = "submit"  value = "登录" />< input  type = "reset"  value = "取消" /></ td >           </ tr >         </ table >      </ form >    </ body > </ html > 2、dologin.jsp <%@   page   language = "java"   import = "java.util.*, java.net .*"   contentType = "text/html; charset=utf-8" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+ "://" +request.getServerName()+ ":" +request.getServerPort()+path+ "/" ; %>   <! DOCTYPE  HTML  PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN"> < html >    < head >      < base  href = " <%= basePath %> " >          < title > My JSP 'dologin.jsp' starting page </ title >              < meta  http-equiv = "pragma"  content = "no-cache" >          < meta  http-equiv = "cache-control"  content = "no-cache" >          < meta  http-equiv = "expires"  content = "0" >              < meta  http-equiv = "keywords"  content = "keyword1,keyword2,keyword3" >          < meta  http-equiv = "description"  content = "This is my page" >          <!--         <link  rel =" stylesheet " type="text/ css "  href ="styles.css">         -->      </ head >      < body >      < h1 > 登录成功 </ h1 >      < hr >      < br >      < br >      < br >      <%        request.setCharacterEncoding( "utf-8" );         //首先判断用户是否选择了记住登录状态        String[] isUseCookies = request.getParameterValues( "isUseCookie" );         if (isUseCookies!= null &&isUseCookies.length>0)        {            //把用户名和密码保存在Cookie对象里面           String username = URLEncoder.encode(request.getParameter( "username" ), "utf-8" );            //使用URLEncoder解决无法在Cookie当中保存中文字符串问题           String password = URLEncoder.encode(request.getParameter( "password" ), "utf-8" );                     Cookie usernameCookie =  new  Cookie( "username" ,username);           Cookie passwordCookie =  new  Cookie( "password" ,password);           usernameCookie.setMaxAge(864000);           passwordCookie.setMaxAge(864000); //设置最大生存期限为10天           response.addCookie(usernameCookie);           response.addCookie(passwordCookie);        }         else        {           Cookie[] cookies = request.getCookies();            if (cookies!= null &&cookies.length>0)           {               for (Cookie c:cookies)              {                  if (c.getName().equals( "username" )||c.getName().equals( "password" ))                 {                     c.setMaxAge(0);  //设置Cookie失效                     response.addCookie(c);  //重新保存。                 }              }           }        }      %>      < a  href = "users.jsp"  target = "_blank" > 查看用户信息 </ a >        </ body >   </ html > 3、users.jsp <%@  page  language = "java"  import = "java.util.*, java.net .*"  contentType = "text/html; charset=utf-8" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+ "://" +request.getServerName()+ ":" +request.getServerPort()+path+ "/" ; %>   <! DOCTYPE  HTML  PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN"> < html >    < head >      < base  href = " <%= basePath %> " >          < title > My JSP 'users.jsp' starting page </ title >              < meta  http-equiv = "pragma"  content = "no-cache" >          < meta  http-equiv = "cache-control"  content = "no-cache" >          < meta  http-equiv = "expires"  content = "0" >              < meta  http-equiv = "keywords"  content = "keyword1,keyword2,keyword3" >          < meta  http-equiv = "description"  content = "This is my page" >          <!--         <link  rel =" stylesheet " type="text/ css "  href ="styles.css">         -->      </ head >      < body >      < h1 > 用户信息 </ h1 >      < hr >      <%       request.setCharacterEncoding( "utf-8" );       String username= "" ;       String password =  "" ;       Cookie[] cookies = request.getCookies();        if (cookies!= null &&cookies.length>0)       {             for (Cookie c:cookies)            {                if (c.getName().equals( "username" ))               {                    username = URLDecoder.decode(c.getValue(), "utf-8" );               }                if (c.getName().equals( "password" ))               {                    password = URLDecoder.decode(c.getValue(), "utf-8" );               }            }       }      %>      < BR >      < BR >      < BR >          用户名: <%= username  %> < br >          密码: <%= password  %> < br >    </ body > </ html >   三 测试
 
网友评论