cookie校验

//cookie验证登录
if($.cookie("the_cookie")){

username = $.cookie("the_cookie").split(":")[5];
password = $.cookie("the_cookie").split(":")[9];
//与后台AJAX交互验证登录信息,如果成功转到成功页面,错误重新登录验证
$.ajax({
type : "post",
data : "username=" + username + "&password="+ password,
url:"UserAction.do?method=userLoginM",
success:function(data){
if(data != null && data=="用户名或密码错误!"){
$("#usernameTip").html(data).css("color","red");
$("#username").val("");
$("#usernameTip").css("display","");
$("#password2").val("");

return false;

}else{
document.getElementById('index_login_div').style.display = 'none';
document.getElementById('index_logout_div').style.display = 'block';
nickname = data.split(":")[1];
userId = data.split(":")[3];
phoneno = data.split(":")[5];
score=data.split(":")[7];
password=data.split(":")[9];
//保存cookie时间一个月
if($("#forever").attr("checked")){
$.cookie("the_cookie", data, cookieOption);

}

$("#nickname").text(nickname);
$("#userlogin").text("欢迎你,"+nickname);
$("#score").text(score);
$("#welcome").html("<div class=loginPre> <span class=userLogin>中国@@欢迎您:"+nickname+"</span> </div>");
$("#canDestroy").css("display","");
$("#noDestroy").css("display","none");
if($.cookie("the_cookie")){
$("#s_logout").css("display","none");
}

<% if(null != request.getSession().getAttribute("nickname")) {
%>
$("#index_login_div").css("display","none");
$("#index_logout_div").css("display","block");
<%}%>


}
}
});
$("#loginBtn").click();
}

});
# Web方向实验报告 - ### 问题描述: 在传统的Web应用中,实现用户自动登录功能通常需要在每个Servlet中编写重复的Cookie校验代码,导致代码冗余和维护困难。本次实验通过Filter(过滤器)拦截请求,统一处理Cookie校验,实现自动登录功能。核心目标包括: 1. 通过`AutoLoginFilter`拦截请求,自动解析Cookie中的用户信息并完成登录。 2. 减少Servlet中的重复校验代码,提升代码复用性和可维护性。 *** - ### 实验设计: #### 1. 整体架构 - **User实体类**:封装用户信息(用户名、密码)。 - **LoginServlet**:处理登录请求,校验用户名密码,生成自动登录Cookie。 - **LogoutServlet**:注销用户,清除Session和Cookie。 - **AutoLoginFilter**:拦截请求,校验Cookie并自动登录。 - **JSP页面**:`login.jsp`(登录页)、`index.jsp`(首页)。 #### 2. 关键模块设计 - **Cookie生成与解析**: - 登录成功时,将用户名和密码拼接为`username#password`存入Cookie。 - Filter解析Cookie时,按分隔符`#`拆分并验证用户信息。 - **过滤器排除规则**: - 静态资源(`.jsp`、`.css`、`.js`、`.png`)和登录请求(`/LoginServlet`)不经过过滤器。 *** - ### 实验实现: #### 1. User实体类 - **作用**:封装用户数据,用于Session存储和业务逻辑传递。 - **关键代码**: ```java public class User { private String username; private String password; } ``` #### 2. LoginServlet - **核心逻辑**: - 校验用户名密码(硬编码为`ZYR/123456`)。 - 若勾选“自动登录”,生成Cookie
最新发布
04-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值