为了防止用户在不登录的情况下通过并接请求直接访问系统,我们需要通过session和拦截器来防止这样的情况。

拦截器的配置:

为拦截器建立一个包:interceptor,并在包里建立 LoginInterceptor 拦截器类

拦截器需要 implements HandlerInterceptor,并实现 HandlerInterceptor 的方法:

/**
* 登录拦截器
*/
public class LoginInterceptor implements HandlerInterceptor { @Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { HttpSession session = httpServletRequest.getSession();
if ( session.getAttribute("LOGIN_USER") != null ){
return true;
}else {
httpServletResponse.sendRedirect( httpServletRequest.getContextPath() + "/gradu/dologin");
return false;
}
} @Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { } @Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { }
}

配置spring-mvc文件:

<!--拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/gradu/dologin" />
<bean class="com.hwl.interceptor.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

注意:

<mvc:mapping path="/**"/> 是已经拦截了所有请求,包括登录,

如果后来想不拦截某个页面,就添加:<mvc:exclude-mapping path="/system/login" />

另外。记得登录时添加session。

最新文章

  1. Java: IO 学习小结
  2. Android 采用HttpClient提交数据到服务器
  3. 原生+jquery 实现好看滚动条。
  4. MyEclipse xml 手动添加 dtd
  5. 【word xml】将word转化为xml格式后,如何在xml中卫word添加分页符
  6. 阿里云 centos 修改iptables
  7. 附加没有LDF的数据库文件
  8. 关于wxpython多线程研究包括(import Publisher错误研究)
  9. .NET性能优化小技巧
  10. 配置JDK和Tomcat环境变量
  11. Java 作业6
  12. Bootstrap2.x与Bootstrap3.x的区别
  13. js判断用户的浏览器
  14. centos 关闭selinux
  15. c# 中实用包,实用dll。
  16. html可用于跨域的三个标签
  17. java开源类库pinyin4j的使用
  18. 关于 android 返回键 代码实现
  19. 联想Z510升级BCM94352HMB刷网卡白名单曲折经历
  20. 使用spring整合Quartz实现—定时器

热门文章

  1. Vulnhub靶机渗透 -- DC5
  2. 使用vbs调用excel中的宏
  3. 云原生 AI 前沿:Kubeflow Training Operator 统一云上 AI 训练
  4. 20210713考试-2021noip13
  5. P1721 [NOI2016] 国王饮水记 题解
  6. Spring Cloud Zuul 学习+实践
  7. Flask(2)- 第一个 Flask Application
  8. Activiti 学习(四)—— Activiti 结合实际业务
  9. js不记录某个url链接历史访问,返回时不返回该链接
  10. vscode中tab键无法触发emmet