Je vais avoir des ennuis avec le chargement des CSS et des images et la création de liens vers d'autres pages quand j'ai une servlet avec impatience une JSP. Plus précisément, lorsque j'ai mis mon <welcome-file>
de index.jsp
, le CSS est chargé et mes images sont affichées. Cependant, si j'ai mis mon <welcome-file>
de HomeServlet
qui transfère le contrôle à l' index.jsp
, le CSS n'est pas appliquée et mes images ne sont pas affichées.
Mon fichier CSS est dans web/styles/default.css
.
Mes images sont en web/images/
.
Je suis un lien vers mon CSS comme ceci:
<link href="styles/default.css" rel="stylesheet" type="text/css" />
Je suis de l'affichage de mes images comme suit:
<img src="images/image1.png" alt="Image1" />
Comment est ce problème et comment le résoudre?
Mise à jour 1: j'ai ajouté de la structure de l'application, ainsi que quelques autres informations qui pourraient les aider.
L' header.jsp
le fichier est le fichier qui contient la balise de lien pour le CSS. L' HomeServlet
est défini comme ma welcome-file
en web.xml
:
<welcome-file-list>
<welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
La servlet est déclarée et mappé comme découlant de l' 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>
Mise à jour 2: j'ai trouvé le problème enfin - ma servlet a été cartographié de manière incorrecte. Apparemment, lors de la définition d'une Servlet comme votre <welcome-file>
il ne peut pas avoir un modèle d'URL de /
, que je trouve un peu bizarre, parce que ce ne serait pas de stand pour le répertoire racine du site?
La nouvelle cartographie est comme suit:
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>