Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 过滤器如何处理会话_Java_Jsp_Servlets_Servlet Filters - Fatal编程技术网

Java 过滤器如何处理会话

Java 过滤器如何处理会话,java,jsp,servlets,servlet-filters,Java,Jsp,Servlets,Servlet Filters,你们中的一些人建议我使用过滤器处理会话。我根据互联网上的一些指南研究了一些关于过滤器的知识,并写了一个过滤器来引用这个 我看到我页面的每个组件(css、图像等)都会调用过滤器;有没有一种方法可以在加载jsp或servlet时调用它?我需要一个能够理解是否加载了jsp或servlet的方法,以便在我的过滤器中生成一些内容。是的,您可以这样做。只需更改会话筛选器的url模式 如果您使用某个web框架(spring mvc,…)和一个调度servlet,那么您可以使用servlet名称将筛选器仅映射到

你们中的一些人建议我使用过滤器处理会话。我根据互联网上的一些指南研究了一些关于过滤器的知识,并写了一个过滤器来引用这个


我看到我页面的每个组件(css、图像等)都会调用过滤器;有没有一种方法可以在加载jsp或servlet时调用它?我需要一个能够理解是否加载了jsp或servlet的方法,以便在我的过滤器中生成一些内容。

是的,您可以这样做。只需更改会话筛选器的
url模式


如果您使用某个web框架(spring mvc,…)和一个调度servlet,那么您可以使用
servlet名称
将筛选器仅映射到此servlet,并且对其他资源(js、css)的请求不会被此筛选器拦截。

首先,请不要被您指定的链接中教程的目的所误导。会话处理始终通过cookie、URL重写(或更高级的SSL)完成。他只是使用过滤器来增强应用程序的安全性,只要用户直接进入“避开url”,就可以确保用户被重定向到登录页面

考虑一个过滤器,一个物理过滤器。无论是excel过滤器还是物理砾石过滤器。它介于一件事和另一件事之间:

Java web筛选器可以做同样的事情:


就像您可以选择要过滤的水瓶一样,您可以决定要过滤的请求。您可以使用web.xml中的过滤器映射元素来实现这一点。您可以指定单个servlet名称或url模式。

这意味着如果我有一百万个servlet,我应该有一百万个servlet名称标记,对吗?不需要。将过滤器映射到servlet时有两个选项:可以指定url模式或servlet名称。但您希望将筛选器映射到除静态资源URL之外的所有URL。因此,如果您只有一个servlet,那么servlet名称可能是一种更简单的方法。如果您有多个servlet,url模式可能会更容易。如果您有一个简单的web应用程序,其中所有servlet都在处理或生成html,并且这些资源的所有url都类似于.htm,那么您只需使用一个url模式=“.htm”映射会话筛选器即可