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;
}
}