如何在web.xml中将url重定向到jsp

时间:2010-08-05 12:39:41

标签: java jsp web-applications

(应该很容易) -

如何将模式yada * .js的所有网址重定向到我的特定jsp中。
这将添加到我的web.xml工作:

<servlet-mapping>
        <servlet-name>MySpecific.jsp</servlet-name>
        <url-pattern>yada*.js</url-pattern>
</servlet-mapping>

或者我必须为此目的使用javax.servlet.filter?

2 个答案:

答案 0 :(得分:12)

我会将这些文件放在名为/yada的文件夹中,然后使用url-pattern /yada/*

如果您不想这样做,那么在过滤器中手动确定它确实是唯一的选择。


更新:根据您的更新,您实际上还有第二个问题,这个问题在您的初始问题中并不明显:“如何将JSP文件声明为servlet?” / em>的。答案是:使用<jsp-file>代替<servlet-class>

<servlet>
    <servlet-name>foo.jsp</servlet-name>
    <jsp-file>/foo.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>foo.jsp</servlet-name>
    <url-pattern>/foo/*</url-pattern>
</servlet-mapping>

然而,正如评论中所述,这不是最佳做法。这会在JSP文件中出现原始Java代码,您应该avoid到所有范围。

答案 1 :(得分:1)

根据服务器的不同,您可以在url-pattern中添加的内容非常有限。

两个有效:

  • 绝对路径(没有通配符)
  • *。分机

因此规范不匹配。我确实使用过滤器。

PS:不要忘记指定&lt;%page sourceEncoding = ... contentType = ...%&gt;在生成JSP :)。内容类型应包括charset = xxxxx