一、过滤器
什么是过滤器?
你可以把它想象成一个筛子,它将request和response中的一些参数给过滤掉
1.导入相关jar包
在pom文件中导入公用jar包
<!-- commons 共用包,过滤器拦截器使用 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
导入后更新工程
2.随便定义一个输出参数的接口
比如:
@Controller
@RequestMapping("/test")
public class TestController {
/*
* 测试过滤器
*/
@RequestMapping("/filter")
@ResponseBody
public String testFilter(HttpServletRequest request,
@RequestParam(value="key"/*链接上的参数名*/,defaultValue="123"/*未赋值时默认值*/,required=false)String value1,
@RequestParam(value="key2"/*链接上的参数名*/,defaultValue="123"/*未赋值时默认值*/,required=false)String value3){
String value2=request.getParameter("key");
String value4=request.getParameter("key2");
return "过滤器过滤后的特朗普1="+value1+",特朗普2="+value2+",过滤后的手风琴1="+value3+",手风琴2="+value4;
}
}
这是还未添加过滤器的访问显示效果:
3.建立过滤器存储包
过滤器属于公共部分
在基础包下创建filter包,并创建过滤器parameterFilter(使用@WebFilter注解,继承
Filter)
import java.io.IOException;
import java.util.HashSet;
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.HttpServletRequestWrapper;
import org.