使用tomcat v9.0,我采用如下过滤器过滤需要登陆后才能访问的页面

在一个不需要登录的html页面我使用如下超链接导向一个需要登陆才能访问的页面

初次访问成功,点击超链接后过滤器拦截请求并重定向至登录界面,成功登录访问。
在该情况下退出登录,返回最开始的界面(即之前提到的无需登录即可访问的页面),再次点击超链接发现直接访问到了需要登陆才能访问的页面,查看控制台输出发现该请求没有经过过滤器;但手打url尝试连接需要登陆的页面会被过滤器打回到登录页面。
求解成因及解决方案
新的内容
我将问题部分单独新建了一个项目,代码如下:
1.html

login.html

2.html

Login.java(servlet)

Exit.java(servlet)

filter

目的:实现从1.html跳转到2.html过滤器筛选登陆后的状态放行,如果未登录则跳转到登录界面登录。
问题:在第一遍操作时如目的所述实现功能,但在退出登录返回1.html后理论上在我跳转到2.html时会被过滤器阻拦并请求登录,但实际情况是他根本没有经过过滤器而是直接完成了超链接;矛盾的是,我是用链接访问2.html仍然会被过滤器阻拦
求解:超链接和输入链接跳转直接存在的区别以及上述情况如何求解,或者是其他逻辑问题导致的运行bug请指正
新的内容
知道了如何解决问题:通过将html文件更改为jsp文件,只更改类型不更改html内容即可实现目标操作
新的问题:问题的成因,可能为html和jsp的区别,又或者是使用servlet生成一个html页面跟直接访问一个html页面的区别,求解
你好,session的默认有效存储时间为半小时,所以第二次点击超链接时attribute属性还是有值的,所以可以进入,可以手动清空session,再试试