import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.DispatcherType; 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.annotation.WebFilter; import java.io.IOException; import java.io.PrintWriter; /* 过滤txt、ini、jsp文件:凡是Get Post直接文件的全部禁止 */ @WebFilter( value={ "*.txt", "*.ini", "*.jsp" }, dispatcherTypes = {DispatcherType.REQUEST}) //过滤请求 public class Filter_WenJian implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { //初始化,服务器启动时执行 } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletResponse)response; request.setCharacterEncoding("UTF-8"); //设置请求文档编码 response.setCharacterEncoding("UTF-8"); //设置响应文档编,println中文乱码设置这个值 response.setContentType("text/html;charset=utf-8"); //println输出标签字符串,向浏览器声明其类型与编码格式 //拦击直接地址 PrintWriter out = response.getWriter(); if(req.getRequestURI().equals("/")){ //域名链接,允许,如:localhost chain.doFilter(request, response); }else{ out.println("<h1>请输入正确页面地址。。。</h1>"); } } @Override public void destroy() { // 销毁,服务器关闭时执行 } }