第一种写法
<bean id="checklogin" class="com.k.util.LoginIntercepter"/>
<mvc:interceptors>
<ref bean="checklogin" />
</mvc:interceptors>
第二种写法
<mvc:interceptors>
<bean class="com.k.util.LoginIntercepter"/>
</mvc:interceptors>
第三种写法
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.k.util.LoginIntercepter"/>
</mvc:interceptor>
</mvc:interceptors>
执行的类
package com.k.util
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
import org.springframework.web.servlet.ModelAndView
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter
public class LoginIntercepter extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("LoginIntercepter --> preHandle方法执行了")
String uri = request.getRequestURI()
System.out.println("uri: " + uri)
String contextpath = request.getContextPath()
System.out.println("contextpath: " + contextpath)
String requestname = uri.substring(contextpath.length() + 1, uri.length())
System.out.println("requestname:" + requestname)
String path = request.getContextPath()
String besepath = request.getScheme() + "://" + request.getServerName() + ":"
+ request.getServerPort() + path + "/"
System.out.println(besepath)
return true
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("业务方法执行之后要做的操作")
System.out.println("LoginIntercepter --> postHandle 方法执行了")
}
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println("请求处理完成时要做的操作")
System.out.println("LoginIntercepter --> afterCompletion 方法执行了")
}
}