发表于: 2017-10-11 23:44:21

1 692


今天完成的事

完成cookie免登录

判断cookie的逻辑

//获取cookie
Cookie[] cookies = request.getCookies();
String s1 = null ;
String s2 = null ;
//判断是否存在cookie
if(cookies != null){
//循环查找nameusercookie
   for(int i = 0;i<cookies.length;i++){
Cookie cookie = cookies[i];
       //如果nameuser,则取得cookievalue
       if(cookie.getName().equals("user")) {
//cookie的值声明为mes变量
         String mes = cookie.getValue();
           System.out.println("Cookie的值为"+mes);
           //以逗号拆分储存着账户密码的值为一个数组
           String[] array = mes.split(",");
            s1 = array[0];
            s2 = array[1];
       }
}

}
log.info("拆分后的cookie的值:"+s1+"-"+s2);
//把两个变量使用登录验证方法进行验证
boolean loginType = loginService.login(s1,s2);
if (loginType) {
return "home";
}
else {
return "/jsp/login";
}

使用String.split分割了cookie的赋值给S1(对应账户),S2(对应密码),并作为值调用验证方法验证

测试可以看到没有登录验证(/a/login/verify)就直接进入了/home页面

把对cookie的增删改查方法封装到了一个工具类中

把总是搞不清楚的声明和定义,实例化和初始化的区别查了一下

声明是向编译器介绍名字-标识符。它告诉编译器这个函数或变量在某处可以找到,它的模样像什么。

而定义是说:“在这里建立变量”或“在这里建立函数”。它为名字分配存储空间。无论定义的是函数还是变量,编译器都要为他们在定义点分配存储空间。对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存数据,对于函数,编译器会生产代码,这些代码最终也要占用一定的内存。

基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。 


实例化,一般是由类创建对象。比如有class A{ };      A a;//这就是实例化

初始化,有很多情况,如函数的初始化,类里成员的初始化等,即给一些变量赋予初始值,那些变量已经存在,只是赋值,不像实例化那样构造一个实例的时候需要在内存中开辟空间。


遇到的问题:最初是在if语句块中定义了两个变量是s1 s2   后来发现在语句块外面不能使用这两个变量,之后在改成方法内定义这两个变量  在if语句块中给变量赋值成功使用这两个变量 

一会儿写完日报看看书上有关成员变量的作用域的知识

写封装cookie的时候在网上看到了一个语法  StrUtils.isEmptyArray()   这个博主的文章是今年7月份的,这个语句却用不了  网上也很少有这个语法的资料   很好奇  师兄你看看你学过吗?


明天的计划:

使用cookie封装类完成免登录

开始尝试写session了


收获:终于是把cookie啃下来了   三天啊   希望session能快一些


任务进度:任务五步骤一

任务开始时间:2017-10-2

预计demo时间:2017-10-10

延期5天至15号

禅道:http://task.ptteng.com/zentao/project-task-276.html



返回列表 返回列表
评论

    分享到