Java web 注册登录功能实现简介

在java中,注册功能的实现首先需要判断用户名,密码是否合法,用户名不能重复,包含敏感词等。同时不要将明文的密码直接保存到数据库,我们可以先用md5算法对用户密码和用户的salt整体进行加密,然后返回相应注册的信息。当注册成功时则服务器端则向客户端发送一个token。

客户端已经被下发了一个token,当客户端发送带token的http请求时,首先根据token获取用户的id,再根据用户id查询用户的具体信息,接着利用用户和页面访问权限进行管理,返回对应的渲染页面。

后端主要是通过拦截器来实现如上的功能

  1. public abstract class HandlerInterceptorAdapter implements HandlerInterceptor{  
  2.     // 在业务处理器处理请求之前被调用  
  3.     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 
  4. Object handler) throws Exception{  
  5.         return true;  
  6.     }  
  7.     // 在业务处理器处理请求完成之后,生成视图之前执行  
  8.     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, 
  9. ModelAndView modelAndView)  
  10.       throws Exception{  
  11.     }  
  12.     // 在DispatcherServlet完全处理完请求之后被调用,可用于清理资源  
  13.     public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
  14.  Object handler, Exception ex)  
  15.       throws Exception{  
  16.     }  
  17. }  


preHandler : 是controller的前置方法,当方法返回false整个请求就结束了。多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在。


WebRequestInterceptor和HandlerInterceptor的preHandler的方法的区别就在与webRepuestInterceptor的preHandler的方法是没有拦截的功能,是没有返回值的。


postHandle : 就是在当前请求进行处理之后,也就是Controller方法调用之后执行,但是它会在DispatcherServlet进行视图返回渲染之前被调用。


afterHandler:该方法将在整个请求结束之后,也就是在DispatcherServlet 渲染了对应的视图之后执行,可用于清理资源。

参考资料:

1. springmvc拦截器  http://www.sohu.com/a/128772280_523754

2. Java三大器之拦截器(Interceptor)的实现原理及代码示例  http://blog.csdn.net/reggergdsg/article/details/52962774

猜你喜欢

转载自blog.csdn.net/qingwage222/article/details/79200102