1.编写拦截器类,此类实现HandlerInterceptor接口。拦截器只能对action请求起作用。
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class LoginInterceptor implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
}
@Override
public boolean preHandle(HttpServletRequest req, HttpServletResponse arg1,
Object arg2) throws Exception {
// TODO Auto-generated method stub
Object o=req.getSession().getAttribute("User_key");
if(o!=null){
return true;
}
String uri=req.getRequestURI();
if(uri.endsWith("loginA.do")||uri.endsWith("login.do")){
return true;
}
req.getRequestDispatcher("loginA.do").forward(req, resp);
return false;
}
}
2.在SpringMVC.xml文件中添加配置文件。一定要记住添加配置文件,否则不起作用
<mvc:interceptors>
<bean class="com.dhw.interceptor.LoginInterceptor"></bean> //扫描过滤器类
</mvc:interceptors>