发表于: 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
评论