[学习笔记]JAVA_SSM框架简单的登录拦截器配置

1.web.xml

<!--  放行静态资源 -->
 <servlet-mapping>    
      <servlet-name>default</servlet-name>    
      <url-pattern>/js/*</url-pattern>    
      <url-pattern>/css/*</url-pattern>    
      <url-pattern>/img/*</url-pattern>    
      <url-pattern>/fonts/*</url-pattern> 
      <url-pattern>/plugins/*</url-pattern>   
 </servlet-mapping>

2.sping_mvc.xml

<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/**"/>
        <bean class="com.*.*.SessionInterceptor" >
            <property name="excludeUrls">
                <!-- list中的url不拦截 -->
                <list>
                    <value>/login</value>
                    <value></value>                 
                </list>
            </property>
        </bean>
    </mvc:interceptor>
</mvc:interceptors>

3.com...SessionInterceptor

import java.util.List;

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

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



public class SessionInterceptor  implements    HandlerInterceptor {


    private List<String > excludeUrls;

    @Override
    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
    }

    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
            throws Exception {
    }

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse arg1, Object arg2) throws Exception {      
        String serverletPath = request.getServletPath();                
        if (excludeUrls.contains(serverletPath)) {
            return true;
        }else {
            HttpSession session = request.getSession();
            Object sessionInfo = session.getAttribute("loginUser");
            if (sessionInfo!=null) {
                return true;
            }else {
                request.getRequestDispatcher("WEB-INF/jsp/nosession.jsp").forward(request, arg1);           
            }
        }
        return false;

    }

    public List<String> getExcludeUrls() {
        return excludeUrls;
    }
    public void setExcludeUrls(List<String> excludeUrls) {
        this.excludeUrls = excludeUrls;
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值