*springMVC.xml 配置 *

<context:component-scan base-package="com.spring.mvc" />

<mvc:interceptors>
    <mvc:interceptor>
        <!--拦截的请求地址-->
        <mvc:mapping path="/views/system/*"/>
        <mvc:mapping path="/getUsersList"/>
        <!--进行排查不需要的拦截 如 getLogin 登陆的-->
        <mvc:exclude-mapping path="/views/system/getLogin"/>
        <!--<mvc:exclude-mapping path="/views/system/getLogin"/>-->
        <!--指定自定义的拦截器-->
        <bean class="com.spring.mvc.configs.InterHandlerController">
            <property name="excludeUrls">
                <list>
                     <value>/blog/assets</value>
                     <value>/blog/docs</value>
                     <value>/blog/incubator-echarts-2.2.7</value>
                     <value>/blog/nice-validator-master</value>
                     <value>/blog/html/login.jsp</value>
                </list>
            </property>
        </bean>
    </mvc:interceptor>
</mvc:interceptors>
<!--开启注解的配置-->
<mvc:annotation-driven></mvc:annotation-driven>
<!--进行配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--前缀,页面从什么地方开始获取-->
    <property name="prefix" value="/"></property>
    <!--后缀,页面.结合名称-->
    <property name="suffix" value=".jsp"></property>
</bean>
<mvc:default-servlet-handler/>

创建config 包 在里面创建

//自定义的一个拦截器
public class InterHandlerController implements HandlerInterceptor {

private List<String> excludeUrls;

// 这个方法是在业务处理器请求之前被调用的
//如果不需要调用其他的组件去处理请求,这返回false
//如果拦截器对请求进行拦截处理后,还要进行调用其他的拦截器,则返回true
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//进行格式化字符集
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//获取的session中的数据
Users users=(Users) request.getSession().getAttribute("us");
//获取对应的请求地址
String requestURI = request.getRequestURI();
for (String excludeUrl : excludeUrls) {
if (requestURI.contains(excludeUrl)){
return true;
}
}
if (users==null) {
System.out.println("当前没有账号登陆");
//跳转到登陆页面
response.sendRedirect("blog\html\login.jsp");
}
return true;
}

//这个方法在业务处理完请求后,但是DispatcherServlet向客户端返回数据,在方法中对用户的请求进行处理
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

}

//在DispatcherServlet 完全处理请求后被代用的,
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

}

public List<String> getExcludeUrls() {
    return excludeUrls;
}

public void setExcludeUrls(List<String> excludeUrls) {
    this.excludeUrls = excludeUrls;
}

}

controller 层

@Controller
@SessionAttributes({"us"})
@RequestMapping("/views/system")
public class LoginController {
///views/system/views/system/getLogin

@PostMapping("/getLogin")
public  String  getLogin(Users users, Model  model){
    System.out.println(users);
    model.addAttribute("us",users);
    if (users!=null) {
        System.out.println(users);
        return "blog/html/index";
    }
    return "blog/html/login";
}
@PostMapping("/getLogin1")
public  String  getLogin1(Users users, Model  model){
    System.out.println(users);
    model.addAttribute("us",users);
    if (users!=null) {
        System.out.println(users);
        return "blog/html/index";
    }
    return "blog/html/login";
}

@PostMapping("/getLogin2")
public  String  getLogin2(Users users, Model  model){
    System.out.println(users);
    model.addAttribute("us",users);
    if (users!=null) {
        System.out.println(users);
        return "blog/html/index";
    }
    return "blog/html/login";
}

}

实体类

public class Users {

/**

*/
private  Integer     id ;

/**

*/
private  String    name ;

/**

*/
private  String    pwd;

@Override
public String toString() {
    return "Users{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", pwd='" + pwd + '\'' +
            '}';
}

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getPwd() {
    return pwd;
}

public void setPwd(String pwd) {
    this.pwd = pwd;
}

}