如何把filter改写成spring mvc里面的interceptor
之前写的filter,现在想转换成框架里面的interceptor,应该怎么改?XML文件要怎么配。
package mypack;
import
java.io.IOException;
import java.net.URLEncoder;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import
javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class OnlineFilter extends HttpServlet implements javax.servlet.Filter {
private static final long serialVersionUID = 1L;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws
ServletException,
IOException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession();
String userId = request.getParameter("UserID");
String result = request.getParameter("Result");
String uri = ((HttpServletRequest) request).getRequestURI();
if ("0".equals(result) && null != userId) {
User user = new User();
user.setUserId(userId);
session.setAttribute("user", user);
req.getSession().setAttribute("user", user);
req.getSession().setAttribute("UserID", userId);
}
if (session.getAttribute("user") == null) {
res.sendRedirect("http://127.0.0.1:8080/index.do");
System.out.println(uri);
return;
} else {
System.out.println("user has logged in.");
}
}
public void init(FilterConfig filterConfig) {
System.out.println("OnlineFilter initialized.");
}
public void destroy() {
System.out.println("OnlineFilter destroied");
}
}
------解决方案--------------------spring的就是return true或者false呗 代码几乎不用动