我可以创建一个带有模式的servlet过滤器来匹配以* x.ext结尾的文件名吗?

时间:2016-11-10 16:21:40

标签: java servlets url-pattern

我想在我的一些javascript文件中使用表达式语言。所以我设置了一个JSPServlet,映射到所有javscript文件,因此可以对它们进行评估:

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>weblogic.servlet.JSPServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

然后事实证明我的一个js文件在EL评估时崩溃了,我突然只需要指定应该评估的文件。我很快发现不支持过滤器的例外情况。相反,我更改了包含表达式语言的js文件的名称,以-el.js结束。然后我更新了对这些脚本的所有引用,并使我的silter映射url模式看起来像这样:

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>weblogic.servlet.JSPServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*-el.js</url-pattern>
</servlet-mapping>

原来这是不被接受的。我试图找到URL模式的规则,但无法找到它们。我知道我可以将相关文件放在特定的子文件夹中,然后使用该文件夹作为url模式,但经过精心更新对所有文件的每个引用后,我希望可能有更简单的方法来执行此操作。无论如何,我肯定想知道网址模式的规则。

那么java servlet的url模式规则究竟是什么?我可以以任何方式使用filenames-ending-with,而不是指定文件扩展名吗?

0 个答案:

没有答案