我已经编写了一个Java web过滤器来处理JSF应用程序的安全性。我得到了如下过滤器的映射:
<filter-mapping>
<filter-name>authFilter</filter-name>
<url-pattern>/secure/*</url-pattern>
<url-pattern>/login.jsf</url-pattern>
<url-pattern>/*.js.jsf</url-pattern> <--- invalid pattern
</filter-mapping>
现在我想创建一个url模式来过滤所有javascript文件。我使用Primeface,所以. js文件在URL中检索,如下所示:
http://localhost:8080/MyProject/javax.faces.resource/MyJavascriptFile.js.jsf?ln=MyLibrary
我无法过滤整个javax。面孔。资源
,因为它还保存CSS文件。有没有一种方法可以创建一个只匹配javascripts的URL模式?
*通配符功能在JSF中受到限制,因为只允许使用一个*,并且必须位于“表单视图id”字符串的末尾。例如,(任何xml)它都可以工作。
<from-view-id>/customer/*</from-view-id>
它永远不会匹配…
<from-view-id>/cus*mer/</from-view-id>
<from-view-id>/c*sto*er/*</from-view-id>
<from-view-id>*/customer</from-view-id>
看看这个页面
<url-pattern>/*.js.jsf</url-pattern> <--- invalid pattern
这确实是一种无效的URL模式。通配符*
只能位于URL模式的开头或结尾。在您的特定情况下,您根本不需要/
前缀。
<url-pattern>*.js.jsf</url-pattern> <--- valid pattern
请注意,这个问题与JSF无关。Servlet过滤器是基本Servlet API的一部分。
假设我已经定义了这些RESTendpoint: 我定义了两个过滤器(日志记录和授权),在这些过滤器中,我想获得与当前请求匹配的url模式。使用上述示例: 如果请求是一个GET到 /variables,我需要"/变量" 如果请求是一个GET到 /variables/myfancyname,我需要"/变量/{name}" 如果请求是一个PUT到 /variables/myfancyname/myval
主要内容:实现,Person.java,Criteria.java,CriteriaMale.java,CriteriaFemale.java,CriteriaSingle.java,AndCriteria.java,OrCriteria.java,CriteriaPatternDemo.java过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 实现 我们将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。CriteriaP
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 实现 我们将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。CriteriaP
还有,如果真的要给出另一个模式,“/restful/**”不是更好吗?因为“/**”将匹配与“/RESTFUL/**”不匹配的URL,因此不由此筛选器链处理。
问题内容: 我需要实施 其中ptrn是命令提示符样式模式,例如“ * 2010 * .txt” 我熟悉FilenameFilter类,但 由于String.matches()不接受此类模式而无法实现 。 谢谢! 问题答案: 所述接受的正则表达式 模式。 “ layman’s”变体的regex变体为。 因此,以下应该工作: 双反斜杠只是用来表示实际的反斜杠,因为反斜杠本身是Java中的转义字符。 另