相关疑难解决方法(0)

在调用转发到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" />
Run Code Online (Sandbox Code Playgroud)

我正在显示我的图像如下:

<img src="images/image1.png" alt="Image1" />
Run Code Online (Sandbox Code Playgroud)

这个问题是怎么造成的,怎么解决?


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

替代文字

header.jsp文件是包含CSS链接标记的文件.该HomeServlet设置为我welcome-fileweb.xml:

<welcome-file-list>
    <welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

更新2:我最终发现了问题 - 我的servlet映射不正确.显然当设置一个Servlet时,<welcome-file>它不能有一个URL模式/,我觉得有点奇怪,因为它不代表网站的根目录?

新映射如下:

<servlet-mapping>
    <servlet-name>HomeServlet</servlet-name>
    <url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

css jsp servlets image

77
推荐指数
2
解决办法
10万
查看次数

标签 统计

css ×1

image ×1

jsp ×1

servlets ×1