思路 http://localhost:8080/control/center/main.do 我们拦截以/control 开始的所有路径
用户不登陆不允许访问以/control开始的路径
在web.xml中配置一个filter 具体如下
<filter>
<filter-name>EmployeeLogonValidate</filter-name>
<filter-class>com.shop.web.filter.EmployeeValidateFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EmployeeLogonValidate</filter-name>
<url-pattern>/control/*</url-pattern>
</filter-mapping>
fiter类:
package com.shop.web.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.shop.bean.privilege.Employee;
import com.shop.utils.WebUtil;
public class EmployeeValidateFilter implements Filter{
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
Employee employee = WebUtil.getEmployee(request);
if(employee==null){
HttpServletResponse response = (HttpServletResponse) res;
response.sendRedirect("/employee/logon.do");
return ;
}
filterChain.doFilter(req, res);
}
public void init(FilterConfig arg0) throws ServletException {
}
}