gpt4 book ai didi

java - 如何使用 JSP 生成具有非 JSP 扩展名的内容页面?

转载 作者:搜寻专家 更新时间:2023-11-01 02:16:58 25 4
gpt4 key购买 nike

我正在开发要部署在最新的 Glassfish 服务器上的 Web 应用程序。

为了使应用程序与不同的上下文根(如“/apps/myapp/”)兼容,我需要动态生成其中的 CSS 文件。

问题是这些页面没有像 JSP 文件一样处理,所以我不能使用 <%= contextRoot %> .我知道我可以使用带有 Content-Type header 的 JSP 文件来模拟 CSS 文件,但我更愿意在其上添加 CSS 扩展。

是否可以让 Glassfish 将非 JSP 文件视为 JSP 文件?

最佳答案

这很简单,我以前做过,效果很好。

只需获取您要映射的扩展,并将其映射到 JSP servlet。

JSP 由 servlet 处理,就像其他任何东西一样。它们并没有什么特别之处。

因此,对于 Glassfish,这个 servlet 恰好被命名为“jsp”。我不知道它是否可移植(即名称),但它可能在 Glassfish 和 Tomcat 中运行,并且可能在任何使用 Jasper JSP 编译器的地方运行。

在 Glassfish 中,它在 $glassfish_domain_dir/config/default-web.xml 中定义。

因此,将其添加到您的 web.xml

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
</web-app>

好处是,如果其中没有标记,这对于直接的 CSS 文件非常有效,或者对于您也添加标记的自定义文件。

关于java - 如何使用 JSP 生成具有非 JSP 扩展名的内容页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com