1、配置web.xml,新增过滤器,过滤所有的请求,包括静态资源(css,jsp,html,js等)
<!--维护中过滤器-->
<filter>
<filter-name>weihuFiler</filter-name>
<filter-class>
com.beitie.WeiHuFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>weihuFiler</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、新增过滤器类WeiHuFilter,如下:(这个地方要PrintWriter直接输出内容,不能进行重定向或者请求转发,因为那样会进行无限循环)
package com.beitie;
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.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Description
* @Author weitj
* @Date 2023年02月25日 9:31
*/
public class WeiHuFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse)servletResponse;
resp.setCharacterEncoding("gbk");
resp.setContentType("text/html;charset=gbk");
PrintWriter pw = null;
try{
pw = resp.getWriter();
pw.write("<h1>服务正在维护中............请稍后访问</h1>");
}catch (Exception e){
}finally {
if(pw != null){
pw.flush();
pw.close();
}
}
}
@Override
public void destroy() {
}
}
3、界面显示效果(界面很丑,想要什么内容,可以自己设置)
到此为止,结束。