发表于: 2017-09-19 23:10:01

1 632



今天完成的事情:整理了cookie session 以及它们的使用 

用工具类 写一下cookie的方法

用默认的方式创建一个新的cookie

public static void addCookie(HttpServletResponse response, String cookieName,
                            String cookieValue, String cookieDomain){
addCookie(response, cookieName, cookieValue, cookieDomain, "/u/job", 60, false);
}

/**
* 根据cookie名获取相应的cookie值
*
* @param request     HttpServletRequest
* @param cookieName   cookie名称
*
* @return cookie名对应的cookie值
*/
public static String getCookieValue(HttpServletRequest request, String cookieName){
Cookie cookie = getCookie(request, cookieName);

   if (cookie == null)
return null;
   else{
return cookie.getValue();
   }


设置拦截器 拦截 

public class SimpleInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String username = CookieUtil.getCookieValue(request,"username");
       String loginTime = CookieUtil.getCookieValue(request,"loginTime");
       String encry = CookieUtil.getCookieValue(request,"encry");

       if(username != null && loginTime != null){
if(Objects.equals(encry, MD5Util.getMd5(username+loginTime)))
return true;
       }
//如果用户没有登录或者登录cookie超时,则跳转到登录页
       request.getRequestDispatcher("/login").forward(request,response);
       return false;
   }

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

}

@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

}
}

然后controller调用相关数据

这个还有点问题 还需优化

听了老大讲解金融方面的知识 开阔了眼界 


明天计划的事情:继续修改任务五的代码  
遇到的问题:使用test 不能返回true 后来发现test这个就是没有返回值的

然后要返回主键 返回不到 

因为用的注解 注解里面没有声明

贴一下代码 这是注解 第一个说明使用主键 主键是id 第二个就不多说了

@Options(useGeneratedKeys = true, keyProperty = "id")
@Insert("insert into student ( name,age) values (#{name},#{age})")

@Test
public void add() {

Category category = new Category();//声明一个category对象
   category.setName("my");
   category.setAge(250);
    categoryMapper.add(category);

   System.out.println(category.getId());
}

测试成功


收获:一些对cookie session的理解

首先举一个小例子 来说明cookie session的来源

星巴克开始优惠活动,每消费10杯咖啡,会免费赠送1杯。考虑到一个人一次性消费10杯咖啡几乎不可能,所以需要采取某种方式来记录顾客的消费数量。怎么办

1,店员很厉害,每个顾客的消费记录都记得一清二楚;

2,分给顾客一张卡片,每消费一次记录一次;

3,发给顾客一张卡片,上面有卡号,顾客每消费一次,由店员在操作机上记录一次。

从生活上来看,方案一的可执行性几乎为0,方案二和方案三我们都见过。

而方案二和三正是对应的客户端记录和服务端记录。与之相对应的正式cookie和session。

我们都知道 浏览器使用的是http协议 而http协议是一个无状态协议 断开后两方什么都没有了

所以为了能够改变这种状况 使用cookie cookie是有服务端生成 保存在浏览器的

那么什么是cookie  cookie是一小段文本信息,它记录了一个用户访问某个网站时的用户信息。

那么cookie储存在哪呢

首先检查下注册表中:
  HKEY_CRURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVESION\EXPLORER\USER SHELL FOLDERS
Cookies  这里是Cookies的实际存储位置
一般来说保存位置是: C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Cookies
不过确实要长效Cookies才会被保存 这里注意是隐藏文件 

查看某个网站颁发的Cookie很简单。在浏览器地址栏输入javascript:alert (document. cookie)就可以了(需要有网才能查看)。JavaScript脚本会弹出一个对话框显示本网站颁发的所有Cookie的内容

 不过这个到底如何对应的就不是很清楚

金融方面后台需要考虑饿得很多 首先主要业务逻辑 就是账号体系

购买产品 以及结息 很复杂 需要考虑很多问题

比如有一个产品 很多人买 但是只卖一次 如何来保证

以及如果出现错误 比如超卖了 如何处理

任务开始时间:9.15

         预计完成时间:9.20

         是否有延期风险:延期一到两天

        延期原因:这几天都在听老大讲课 

禅道链接:http://task.ptteng.com/zentao/my-task.html




返回列表 返回列表
评论

    分享到