登陆过滤
实现用户未登陆就返回到登陆页面,用户需要在登陆的时候设置session。
package com.thunisoft.yhan.filters;
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 javax.servlet.http.HttpSession;
public class LoginFilter implements Filter{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
HttpServletRequest req=(HttpServletRequest) request;
String uri=req.getRequestURI();
if(uri.endsWith("register.jsp")||uri.endsWith("register")
||uri.endsWith("login.jsp")||uri.endsWith("login")
||uri.endsWith("index.jsp")){
System.out.println(uri+" 未过滤");
}else{
HttpSession session=req.getSession();
if(session.getAttribute("user")==null){
HttpServletResponse res=(HttpServletResponse) response;
res.sendRedirect(req.getContextPath()+"/user/login.jsp");
System.out.println(uri+"过滤");
return;
}
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml中添加:
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.thunisoft.yhan.filters.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>