-------------------java端代码---------------------------------
/***
* 过滤器配置.
* @author shenjie
*
* @date 2015-04-14
*
* */
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;
import com.hzdracom.dto.LoginDto;
public class FilterSession implements Filter {
private String encoding="utf-8";
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest servletrequest,
ServletResponse servletresponse, FilterChain filterchain)
throws IOException, ServletException {
servletrequest.setCharacterEncoding(encoding);
servletresponse.setCharacterEncoding(encoding);
HttpServletRequest req = (HttpServletRequest) servletrequest;
HttpSession session = req.getSession();
HttpServletResponse resp = (HttpServletResponse) servletresponse;
String url = req.getRequestURI();
System.out.println("url::"+url);
//取项目名
String projectUrl = url.substring(0,url.indexOf("/",2)+1);
//取项目名后的路径
url = url.substring(url.indexOf("/",2)+1);
if (!url.equals("login.html")) {
LoginDto loginDto = (LoginDto)session.getAttribute("User");
if (loginDto == null || session.getAttribute("userName") == null
|| session.getAttribute("userName") == "") {
resp.sendRedirect(projectUrl+"login.html");
return;
}else{
//判断权限
}
}
filterchain.doFilter(servletrequest, servletresponse);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
encoding = "utf-8";
}
}
-----------------------------web.xml-------------------------------------------------
<!-- 过滤器 过滤.html结尾的文件-->
<filter>
<filter-name>sessionFilter</filter-name>
<filter-class>com.hzdracom.filter.FilterSession</filter-class>
</filter>
<filter-mapping>
<filter-name>sessionFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>