发表于: 2018-06-09 23:28:08

1 923


今天完成的事情:

1.重新写了下获取cookie的方法。

/**
* 这个组件类用于从request中获取本网站的cookie
* 判断条件是cookie的名字
*/
@Component
public class GetCookieFromRequest {

   //从request 获得cookie
   public Cookie getCookie(HttpServletRequest request){
       Cookie[] cookies = request.getCookies();    //从request中获取cookie数组
       if (cookies.length < 0){
           return null;    //如果不存在cookie,返回空值。
       }
       for (Cookie cookie : cookies){  //遍历
           if ("test".equals(cookie.getName())){   //判断条件,相等则返回这个cookie。
               return cookie;
           }
       }

       return null;    //如果以上没有获得cookie,返回空值。
   }
}

拦截器里,通过cookie获得id和时间戳。

boolean result = false;
/**
* 通过GetCookieFromRequest,拿到符合本网站的cookie
*/
Cookie cookie = getCookieFromRequest.getCookie(request);    //通过传递request,获得cookie。可能是空值。
if (cookie != null){        //如果返回值cookie非空,会进行下一步操作。
   //解析cookie中的value,获得用户的id和时间戳。
   String key = "chenxin@#*";  //注册时加密的密钥,此时用来解密。
   DESAlgorithm des = new DESAlgorithm();  //用于解密的工具类。

   //具体的解密过程
   String cookieValue = des.decrypt(cookie.getValue(), key);
       //因为value中的id和时间戳是用点符号来连接在一起的,所以需要截取。
   String idFromCookie = StringUtils.substringBefore(cookieValue, ".");    //截取所用的工具类是,org.apache.commone.lang.StringUtiles提供的方法。
   String createdAtFromCookie = StringUtils.substringAfter(cookieValue, ".");
   System.out.println("cookie中的id:"+ idFromCookie +"\n" + "cookie中的时间戳:"+createdAtFromCookie);
   //判断下解密得到的时间戳,是否正确。
   User user = userService.getUserById(Long.valueOf(idFromCookie));
   if (user.getCreatedAt() == Long.parseLong(createdAtFromCookie)) result = true;

}

2.mmybatis链表查询

两个表,users和t_courseId,需要用users中的courseId去查询t_course表中相同的courseId。

新建一个实体类,来接收查询结果。

对应的接口。

public interface StudentsDao {
   List<Student> getall() throws Exception;
}

对应的mapper文件。

<mapper namespace="com.ptteng.dao.SignUserDao">
   <select id="get" resultType="SignedUser">
       select users.name, t_course.course, users.createdAt from users,t_course where users.courseId=t_course.courseId;
</select>
</mapper>

查询结果。


明天的计划:

完成任务七

遇到的问题:

没有

收获:

复习了cookie的相关内容。


返回列表 返回列表
评论

    分享到