我无法显示我的 tomcat 应用程序的图标

发布于 2024-10-26 11:41:08 字数 325 浏览 4 评论 0原文

我在应用程序根文件夹中放置了一个网站图标。但我无法显示它。如果我尝试将浏览器指向它,我会得到 404。

现在我的 servlet 有了这个映射:

<servlet-mapping>
    <servlet-name>springDispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

并且现在我无法仅针对 favicon 更改所有内容....您是否有任何不那么好的修复创伤性的?

I put a favicon in my application root folder. But I can't display it. If I try to point the browser to it, I get 404.

Now I've this mapping for my servlet:

<servlet-mapping>
    <servlet-name>springDispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

and for now I can't change everything just for the favicon.... do you have any fix that is not so traumatic?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

じее 2024-11-02 11:41:08

根据您向用户提供最喜欢的图标的方式,您可以尝试如下操作。

创建一个新的 Web 应用程序,我们将其命名为 IconDispatcher。此应用程序的 web.xml 可以为空。然后在您的主应用程序中,显示的页面将在标题中包含以下内容

<link rel="icon" type="image/ico" href="/IconDispatcher/favicon.ico"/>

由于 Tomcat 在提供页面时将使用可能的最具体路径,因此它应该转到新的 Icon 应用程序来获取您的 favicon.ico 文件,而不是查看你的主要应用程序。

如果您不想创建一个新的 Web 应用程序来提供图像,您可以创建一个新的调度程序,该调度程序仅用于将请求的资源转发回用户。 url 映射会更加具体,因此请求会发送到正确的 servlet。

<servlet-mapping>
    <servlet-name>iconDispatcher</servlet-name>
    <url-pattern>/Icon</url-pattern>
</servlet-mapping>

另一个选择可能是将 Web 服务器放在 Tomcat 前面。通过这样做,您可以从 Web 服务器提供所有静态内容,而仅将非静态内容转发到 tomcat 服务器进行处理。

希望这些想法有帮助

Depending on how you are serving the favorite icon to the users you could try something like the following.

Create a new web application, lets call it IconDispatcher. The web.xml of this application can be blank. Then in your main application, the pages being displayed will have the following in the header

<link rel="icon" type="image/ico" href="/IconDispatcher/favicon.ico"/>

Since Tomcat will use the most specific path possible when serving the page, it should go to the new Icon application to get your favicon.ico file instead of looking in your main app.

If you don't want to create a new webapp just to serve the image, you could create a new dispatcher which is only used to forward the requested resource back to the user. The url-mapping would be more specific so requests would go to the proper servlet

<servlet-mapping>
    <servlet-name>iconDispatcher</servlet-name>
    <url-pattern>/Icon</url-pattern>
</servlet-mapping>

Another option could be to put a web server in front of Tomcat. By doing this, you can serve all your static content from the web server and only forward the non-static content to the tomcat server for processing.

Hope these ideas help

心如狂蝶 2024-11-02 11:41:08

您还可以将以下代码添加到 web.xml 中,为您的 Spring 项目提供默认的 Tomcat 功能。

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.ico</url-pattern>
</servlet-mapping>

You can also add the following code to your web.xml to provide default Tomcat functionality to your spring project.

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.ico</url-pattern>
</servlet-mapping>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文