SSM整合(八):加入cpringMVC拦截器l

我是做到这里,才用了注释的方式拿到了ls。

step8:


这里的话,拦截器,首先说下流程

拦截器流程

我发起请求->进拦截器->进action

这里多拦截器的情况我就不说了,反正有种就近原则的味道。

这里的拦截器类

LoginChk.java

package com.ssmlogin.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class LoginChk implements HandlerInterceptor {

	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		// TODO 自动生成的方法存根
		// 权限检查,只有在session中存在用户名,这个时候才能跳转
		System.out.println("进入拦截器。。。"+request.getAttribute("username")+":"+request.getSession().getAttribute("username"));
		if(request.getSession().getAttribute("username") != null)
		{
			return true;
		}
		else
		{
			System.out.println("权限不足!");
			request.setAttribute("message", "权限不足,请登录");
			request.getRequestDispatcher("/index.jsp").forward(request, response);
			return false;
		}
	}

	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// TODO 自动生成的方法存根
	}

	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		// TODO 自动生成的方法存根
	}

}

就注意一下,pre方法返回true才继续流程,不然就停止了。

至于为什么,可以跟一下源码。

注册拦截器

自己定义的一定要注册,注册部分代码,在spring-mvc.xml中:

<!-- 注册拦截器 -->
	<mvc:interceptors >
		<mvc:interceptor>
			<mvc:mapping path="/**"/>
			<mvc:exclude-mapping path="/login"/>
			<mvc:exclude-mapping path="/register"/>
			<bean class="com.ssmlogin.interceptor.LoginChk"  />
		</mvc:interceptor>
	</mvc:interceptors>

配置也很简单,在除了注册和登录的其他情况,都要拦截,这里注册还未写。

配置到这里就好了,

这里测试呢,可以直接访问/welcome,应该就会有相关提示了。

如果我的内容在哪里有问题,欢迎私信指正。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值