发表于: 2017-11-12 22:51:53
2 1029
今天做的事情:
上午跟随老大和大家一起爬山,虽然早起很冷,爬山腿很酸,大家还是坚持到了山顶,转一转,聊一聊,玩会狼人杀之类的游戏,大家变得更熟悉了很多,更融入这个大家庭,对于一直坐着敲代码的我们,爬山这个户外活动是不错的选择。
登录方法:
@RequestMapping(value = "/denglu",method = RequestMethod.POST)
public String denglu(User user){
logger.info("登录验证的user"+user);
String pwd = user.getPwd();
String md5 = MD5.getMd5(pwd);
user.setPwd(md5);
logger.info("加密后的密码:"+md5);
User user1 = serviceI.checklogin(user);
if(user1!=null){
//获取当前时间
Long date = new Date().getTime();
user1.setCreate_date(date);
//更新当前时间
serviceI.updateCreatedate(user1);
//生成token令牌
String token = user1.getId()+","+user1.getCreate_date();
//进行加密处理
return "redirect:list";
}
return "error";
}
1 DES加密测试,需要再找一个教程来测试,
DES入口参数
DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
我DES并没有鲜明的解密和加密和生成密钥的方法,所以需要找一个一目了然的,也容易以后使用。
2 再一点就是拦截器
拦截器的概念
java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action
执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦截
然后再之前或者之后加入某些操作。
第一种方法就是直接实现Interceptor接口,这样的话,就要实现这个接口中的三个方法。
第二种方法是继承自AbstractInterceptor类,这是个抽象类,实现了Interceptor接口,并且对里面的init()和destroy()方法进行空实现,而把intercept()方法设置为抽象方法,让继承它的子类去实现,这样的话,子类只要实现这个intercept()方法就可以了,比直接实现接口要简单一些。
第三种方法是继承自MethodFilterInterceptor,这个类叫做方法过滤拦截器,这个类继承自AbstractInterceptor,并且提供了一种机制,即可以指定对Action中某些方法进行拦截或者是不拦截,所谓拦截不拦截,指的就是拦截器中的intercept()方法是否被执行了,若没有执行,就是没有拦截,若执行了,就是拦截了。
而我们项目使用了spring框架,就可以使用HandlerInterceptorAdapter继承抽象接口,来进行拦截
下面这张图就可以很清晰看出三者之间的关系
遇到的问题:
还是对做登录的验证和加密,使用拦截器拦截判断,缺乏非常详细的认知。
收获:
勇登香山,放松身心。
评论