(应该很容易) -
如何将模式yada * .js的所有网址重定向到我的特定jsp中。
这将添加到我的web.xml工作:
<servlet-mapping>
<servlet-name>MySpecific.jsp</servlet-name>
<url-pattern>yada*.js</url-pattern>
</servlet-mapping>
或者我必须为此目的使用javax.servlet.filter?
答案 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