10

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

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

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

4

2 回答 2

11

您可以在您的文件中添加以下配置,以使以beeeingweb.xml结尾的文件作为 JSP 处理:.xyz

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.xyz</url-pattern>
    </jsp-property-group>
</jsp-config>

此解决方案适用于 Tomcat 和 Websphere。并且可能与任何 JEE 兼容的服务器容器一起使用。

于 2014-02-19T09:21:56.360 回答
5

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

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

请注意,这假定 servletcontainer 自己的 JSP servlet 使用 servlet 名称注册,该名称是jspJSP servlet 的事实上的标准 servlet 名称。验证<servlet>servletcontainer 自己的条目web.xml以确保。例如 Tomcat,这是/conf/web.xml其安装文件夹中的文件。

于 2012-05-08T23:08:04.023 回答