猿问

浏览器在调用转发到JSP的servlet时无法访问/查找CSS、图像和链接等相关资源

浏览器在调用转发到JSP的servlet时无法访问/查找CSS、图像和链接等相关资源

当我将servlet转发到JSP时,我在加载CSS和图像以及创建指向其他页面的链接方面遇到了困难。具体来说,当我设置<welcome-file>index.jsp,CSS正在加载,我的图像正在显示。但是,如果我设置<welcome-file>HomeServlet将控制权转发给index.jsp,没有应用CSS,也没有显示我的图像。

我的css文件在web/styles/default.css.
我的照片在里面web/images/.

我将链接到我的CSS,如下所示:

<link href="styles/default.css" rel="stylesheet" type="text/css" />

我的图像显示如下:

<img src="images/image1.png" alt="Image1" />

这个问题是如何引起的,我如何解决呢?


更新1:我添加了应用程序的结构,以及一些可能有用的其他信息。

这个header.jspfile是包含CSS链接标记的文件。这个HomeServlet被设为我的welcome-file在……里面web.xml:

<welcome-file-list>
    <welcome-file>HomeServlet</welcome-file></welcome-file-list>

将按照以下方式声明该servlet并将其映射到web.xml:

<servlet>
    <servlet-name>HomeServlet</servlet-name>
    <servlet-class>com.brianblog.frontend.HomeServlet</servlet-class></servlet><servlet-mapping>
    <servlet-name>HomeServlet</servlet-name>
    <url-pattern>/</url-pattern></servlet-mapping>

更新2:我终于发现了问题-我的servlet被错误地映射了。显然,当将servlet设置为<welcome-file>它不能有一个URL模式/,我觉得有点奇怪,因为这不代表网站的根目录吗?

新的映射如下:

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


暮色呼如
浏览 704回答 4
4回答

忽然笑

您必须分析实际的HTML输出,以获得提示。通过给出这样的路径意味着“从当前位置”,另一方面,如果您以/这意味着“从上下文来看”。
随时随地看视频慕课网APP
我要回答