开发者

how to redirect url to jsp in web.xml

开发者 https://www.devze.com 2023-01-10 03:42 出处:网络
(Should be an easy one-) How can I redirect all urls of the pattern yada*.js into a my specific jsp.

(Should be an easy one-)

How can I redirect all urls of the pattern yada*.js into a my specific jsp.

will this addition to my web.xml work:

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

or perhaps I must use javax.s开发者_如何学Pythonervlet.filter for that purpose?


I'd drop those files in a folder called /yada and then use an url-pattern of /yada/*.

If you don't want to do that, then hand-determining it in a filter is indeed the only resort.


Update: as per your update, you actually have a second question which wasn't directly obvious from your initial question: "How to declare a JSP file as a servlet?". The answer is: use <jsp-file> instead of <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>

Nevertheless, as stated in the comments, this is not the best practice. This smells to raw Java code in a JSP file which you should avoid to all extent.


Depending on the server the things that you can put in url-pattern are very limited.

Two are valid:

  • an absolute path (no wildcards)
  • *.ext

So that specification is not matching. I'd use a filter indeed.

PS: don't forget to specify <%page sourceEncoding=... contentType=... %> in the generating JSP :). And content-type should include charset=xxxxx

0

精彩评论

暂无评论...
验证码 换一张
取 消