版权声明:帅气Dee海绵宝宝 独家放送 https://blog.csdn.net/xyjcfucdi128/article/details/83417130
1.登陆拦截器 :创建一个类 实现 HandlerInterceptor 看具体代码
package com.bw.data.portal.conf;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/**
* 登陆拦截
* @author wangmx
*/
public class LoginHanderInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// TODO Auto-generated method stub
//获取 session中的 用户信息
Object user = request.getSession().getAttribute( "fuser" );
if (user == null){
System.out.println( "登陆拦截" );
//跳转到 登陆的controller /ful/nologin 是直接返回 到登陆界面的 controller
request.getRequestDispatcher( "/ful/nologin" ).forward( request,response );
return false;
}else {
return true;
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
}
}
2.拦截器注册:创建 一个类继承 WebMvcConfigurerAdapter 接着看代码
package com.bw.data.portal.common.config.mvc;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import com.bw.data.portal.conf.LoginHanderInterceptor;
/*
* 类描述:springMVC的配置
* @auther wangmx
* @create 2018/8/20
*/
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/**
* 登陆拦截
* wangmx
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor( new LoginHanderInterceptor())
.addPathPatterns( "/**" ).excludePathPatterns("/", "/index.jsp","/ful/nologin","/ful/login");
//除了index.jsp 和 /ful/nologin 和 /ful/login 全部拦截
}
}
3.登陆的controller:
//登陆拦截之后 跳转的 controller 返回到 登陆的 jsp 页面
@RequestMapping(value = "/nologin")
public String myDataAndReport() {
return "redirect:/login.jsp";
}
登陆页面 正常采用 from表单提交就可以了