当前位置: 首页>后端>正文

idea filetypes 过滤文件不起作用 idea filter

1、生命周期

tomcat初始化时,就加载init方法,执行拦截时使用doFilter方法,tomcat把容器销毁时就执行destroy方法。

只要命中过滤规则就触发doFilter方法,可根据条件判断是否调用chain.doFilter方法,即是否让目标资源执行。

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea,第1张

2、 只要访问cookieServlet,就会被filter进行拦截

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_java_02,第2张

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea_03,第3张

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_java_04,第4张

3、拦截所有请求(用通配符)

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea_05,第5张

4、参数配置

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea_06,第6张

参数可以通过配置传进来,无需写死。使用filterConfig可以帮忙拿到过滤器基本信息。用debug可看出每一步所获得的值。

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_tomcat_07,第7张

5、用户访问个人页面拦截

1)、LoginServlet

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_tomcat_08,第8张

2)、LoginFilter

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_java_09,第9张

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_tomcat_10,第10张

3)、LoginOutServlet

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_用户信息_11,第11张

4)、login.jsp

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_java_12,第12张

5)、user.jsp

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea_13,第13张

6)、

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_用户信息_14,第14张

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea_15,第15张

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_java_16,第16张

此时再访问user.jsp则不会有问题,因为session里面已有用户信息。若此时点击“退出”后再访问此jsp,则会返回登录界面,并显示“非法访问,请登录”:

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea_17,第17张

7)、逻辑过程:
LoginFilter:拦截user文件夹下的信息、LoginServlet信息。

首先访问user.jsp,命中LoginFilter。由于session中没有用户信息,所以跳转到login.jsp。

用户输入登录信息后,触发LoginServlet。若用户名与密码正确,则在session里面存入loginuser信息,跳转到user.jsp。否则返回login.jsp页面。

session中有用户登录信息后,则用户可以随时访问user.jsp:

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_intellij-idea_18,第18张

点击“退出”后,触发LoginOutServlet,session失效,就跳转到login.jsp。

8)、优点
在filter里面统一编写,就不用在每个servlet里面判断用户登录信息了。

9)、注意

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_tomcat_19,第19张

有多个filter时设置优先级,或者把其他filter里面的参数配置注解掉,防止filter互相命中。

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_用户信息_20,第20张

idea filetypes 过滤文件不起作用 idea filter,idea filetypes 过滤文件不起作用 idea filter_tomcat_21,第21张



https://www.xamrdz.com/backend/3ks1932875.html

相关文章: