jsp 页面 Cookie 操作及判断

第一步
login.jsp页面(表单提交方式是用javascript 防止参数暴露)
                        <form action="dologin.jsp" name="userlogin"  method="post">
                              <table class="hou_tabb_lian">
                                    <tr><td>用户登录: <input id="user" name="user" type="text"  /></td></tr>
                                    <tr><td>用户密码: <input id="pwd"  name="pwd" type="password"    /></td></tr>
                                    <tr><td style="padding:4px 0 0 64px;"><input type="button" value="登陆" οnclick="login()" /></td></tr>
                                    <tr><td style="padding:4px 0 0 64px;"><div id="login_err"></div></td></tr>
                              </table>
                        </form>
<script language="javascript">
      <!--登陆非空验证-->
      function login(){
            var user=document.getElementByIdx_x_x_x("user").value;
            var pwd=document.getElementByIdx_x_x_x("pwd").value;
            if(user!=""&&pwd!=""){

                  submit();
            }else{
                  document.getElementByIdx_x_x_x("login_err").innerHTML="帐号密码不能为空";
            }
      }
      function submit(){
            document.userlogin.submit();
      }
</script>

第二步
dologin.jsp(处理页)
<body>
<%      //获得帐号密码
      String name=request.getParameter("user");
      String pwd=request.getParameter("pwd");
      //调用业务类的方法判断用户是否纯在 可以返回boolean类型
      ResultSet rs=user.login(name,pwd);
      if(rs.next()){
                        Cookie usersCookie=new Cookie("name",java.net.URLEncoder.encode(name,"UTF-8"));
                        usersCookie.setMaxAge(-1);
                        response.addCookie(usersCookie);
                        response.sendRedirect("index.jsp");
      }else{
            response.sendRedirect("login.jsp");
      }
%>
</body>


第三步
每一个后台管理页添加cookie判断的代码
checkLogin.jsp
<%      String name="";
boolean has=false;
      Cookie Cookies[]=request.getCookies();
      if(Cookies!=null){
      for(int n=0;n<Cookies.length;n++){;
              Cookie newCookie= Cookies[n];
                    if(newCookie.getName().equals("name")){;
                        has=true;
                        name=newCookie.getValue();
                        name=java.net.URLDecoder.decode(name,"UTF-8");
              }}}     
if(!has){
response.sendRedirect("login.jsp");
}%>

或者在每个后台页面调用
<%@ include file="template.jsp" %>


第四步
cookie退出
loginOut.jsp
<%
//session.invalidate();

Cookie[]    cookies=request.getCookies();   
 
          if(cookies!=null)   
           
                  for(int    i=0;i<cookies.length;i++)   
                   
                          String    tempuid_1=cookies[i].getName();   
                       
                          if(tempuid_1.equals("name"))   
                           
                                  cookies[i].setMaxAge(0);   
                                  response.addCookie(cookies[i]);   
                                     
                           
                          if(tempuid_1.equals("pwd"))   
                           
                                  cookies[i].setMaxAge(0);   
                                  response.addCookie(cookies[i]);   
                               
                           
                       
               
response.sendRedirect("login.jsp");

%>

Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面
Cookie sCookie= null ;
for ( int i= 0 ;i<cookies.length- 1 ;i++){    //用一个循环语句遍历刚才建立的Cookie对象数组
sCookie=cookies[i];   //取出数组中的一个Cookie对象
if (sCookie!= null ){
       if (( "cookieName" ).equals(sCookie.getName())){     
         pageContext.setAttribute( "SavedUserName" ,sCookie.getValue());
       }
    }
 
//保存用户名到cookies
 
String user_name=request.getParameter( "user_name" );
if (! "" .equals(user_name) && request.getParameter( "RmbUser" )!= null ){
Cookie cookie= new Cookie( "usernamecookie" ,user_name);
cookie.setMaxAge( 365 * 24 * 60 * 60 ); //保存365天
response.addCookie(cookie); //写COOKIE
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值