是否可以告诉一个标准的Java EE servlet容器解释和渲染文件作为JSP,即使它不具有.jsp扩展?
说我有一个名为foo.xyz在我的WAR的根目录中的文件。 该文件包含了一些JSTL的逻辑,你希望在一个.jsp文件。 如果我请求HTTP://myserver/myapp/foo.xyz我会从渲染为文本文件中看到文字代码。 有没有配置Web应用程序,使得它使得使用JSP解释不改变文件扩展名的文件的方法吗?
请不要问我为什么会想这样做。 约束是复杂的。
是否可以告诉一个标准的Java EE servlet容器解释和渲染文件作为JSP,即使它不具有.jsp扩展?
说我有一个名为foo.xyz在我的WAR的根目录中的文件。 该文件包含了一些JSTL的逻辑,你希望在一个.jsp文件。 如果我请求HTTP://myserver/myapp/foo.xyz我会从渲染为文本文件中看到文字代码。 有没有配置Web应用程序,使得它使得使用JSP解释不改变文件扩展名的文件的方法吗?
请不要问我为什么会想这样做。 约束是复杂的。
添加对URL模式,以你的webapp的一个JSP servlet映射web.xml
。
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.xyz</url-pattern>
</servlet-mapping>
请注意,这个假设servletcontainer自己的JSP Servlet与的servlet名称注册jsp
这是JSP的servlet的事实上的标准servlet名称。 验证<servlet>
servletcontainer自己的内部进入web.xml
是肯定的。 在例如Tomcat的情况下,这就是/conf/web.xml
在其安装文件夹中的文件。
您可以在添加以下配置web.xml
,以与结尾的文件.xyz
beeing处理成JSP:
<jsp-config>
<jsp-property-group>
<url-pattern>*.xyz</url-pattern>
</jsp-property-group>
</jsp-config>
该解决方案正在使用Tomcat和Websphere。 并可能与任何JEE兼容的服务器容器。