一尘不染

您可以将不带.jsp扩展名的文件呈现为JSP吗?

jsp

是否可以告诉标准Java EE servlet容器将文件解释为JSP并将其呈现为JSP,即使它没有.jsp扩展名?

假设我在WAR的根目录中有一个名为foo.xyz的文件。该文件包含一些jstl逻辑,就像您在.jsp文件中所期望的那样。如果我请求http://myserver/myapp/foo.xyz,我将看到该文件中的文字代码呈现为文本。有没有一种方法可以配置Web应用程序,使其可以使用JSP解释器呈现文件而无需更改文件扩展名?

请不要问为什么我要这样做。约束很复杂。


阅读 259

收藏
2020-06-08

共1个答案

一尘不染

在该URL模式上将JSP servlet映射添加到您的webapp的web.xml

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

请注意,这假设servlet容器自己的JSP servlet已注册,且其servlet名称jsp是JSP
servlet的事实上的标准servlet名称。验证<servlet>servletcontainer自己内部的条目web.xml以确保。以Tomcat为例,这是/conf/web.xml其安装文件夹中的文件。

2020-06-08