filter顾名思义,过滤器的意思,在javaweb中的Struts就利用了这种机制去实现视图和业务分离。
这里来配置下自己的Filter来理解下Struts的内在。
在web.xml 中添加下面:
1 2 3 4 5 6 7 8 9 | < filter > < filter-name >myfilter</ filter-name > < filter-class >sun.fifter.MyFifter</ filter-class > </ filter > < filter-mapping > < filter-name >myfilter</ filter-name > < url-pattern >*</ url-pattern > </ filter-mapping > |
这里意思是只要url的类型是* ,就会调 myfilter,
然后定义myfilter这个类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | package sun.fifter; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.tools.JavaCompiler; public class MyFifter implements javax.servlet.Filter { public MyFifter() { // TODO Auto-generated constructor stub } @Override public void destroy() { // TODO Auto-generated method stub System.out.println( "destroy" ); } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub System.out.println( "doFilter" ); } @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub System.out.println( "init" ); } } |
]
这样在调用的时候:http://localhost:8080/WebProject1/index.html
控制台就会输出;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/201128/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)