在上一个创建完进行登录的页面后,当人们知道了你的登录之后进入页面的网址之后,在地址栏直接输入网址就能够进入了
要是想要使其必须登录之后再进入就要使用过滤器
首先创建一个Filter文件,创建完成之后要是需要在下面的位置写你想要拦截的资源
这样就必须通过登录之后才能进行主页面了
package qcby.util;
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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet Filter implementation class SystemFilter
*/
@WebFilter("")
//@WebFilter("/SystemFilter")表示拦截的资源,写的是哪个,就拦截那个(精确的拦截)
//@WebFilter("/*.html")表示拦截所有html的资源
//@WebFilter("/*")表示拦截所有的资源
public class SystemFilter implements Filter {
/**
* Default constructor.
*/
public SystemFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
// pass the request along the filter chain
String requestURI = ((HttpServletRequest)request).getRequestURI();
System.out.println("requestURI");
if(requestURI .contains("login")||requestURI.contains("jquery")||requestURI.contains("Login"));{
chain.doFilter(request, response);
}
// pass the request along the filter chain
//chain.doFilter(request, response);放行的意思,通过要是不通过就会卡住它,
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}