81,094
社区成员
发帖
与我相关
我的任务
分享
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>common.LoginFilter</filter-class>
<init-param>
<param-name>login</param-name>
<param-value>/login.jsp</param-value>
</init-param>
<init-param>
<param-name>access</param-name>
<param-value>/login.jsp;error.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
public class LoginFilter implements Filter {
private String login;
private String access;
private List<String> list = new ArrayList<String>();
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) arg0;
HttpServletResponse res = (HttpServletResponse) arg1;
if (!list.contains(req.getServletPath())
&& null == req.getSession().getAttribute("loginname")) {
res.sendRedirect(req.getContextPath() + login);
return;
} else {
arg2.doFilter(arg0, arg1);
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
this.login = arg0.getInitParameter("login");
this.access = arg0.getInitParameter("access");
String[] s = access.split(";");
for (int i = 0; i < s.length; i++) {
list.add(s[i]);
}
}