Ich habe Probleme beim Laden von CSS und Bildern und beim Erstellen von Links zu anderen Seiten, wenn ein Servlet an eine JSP weitergeleitet wird. Insbesondere wenn ich meine <welcome-file>
auf setze , index.jsp
wird das CSS geladen und meine Bilder werden angezeigt. Allerdings, wenn ich mein Set <welcome-file>
auf , HomeServlet
die nach vorne zu steuern index.jsp
, wird die CSS nicht angewandt wird und meine Bilder werden nicht angezeigt werden.
Meine CSS-Datei befindet sich in web/styles/default.css
.
Meine Bilder sind in web/images/
.
Ich verlinke wie folgt mit meinem CSS:
<link href="styles/default.css" rel="stylesheet" type="text/css" />
Ich zeige meine Bilder wie folgt an:
<img src="images/image1.png" alt="Image1" />
Wie wird dieses Problem verursacht und wie kann ich es lösen?
Update 1 : Ich habe die Struktur der Anwendung sowie einige andere Informationen hinzugefügt, die möglicherweise hilfreich sind.
Die header.jsp
Datei ist die Datei, die das Link-Tag für das CSS enthält. Das HomeServlet
ist wie mein welcome-file
in gesetzt web.xml
:
<welcome-file-list>
<welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
Das Servlet wird wie folgt deklariert und zugeordnet 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>
Update 2 : Ich habe das Problem endlich gefunden - mein Servlet wurde falsch zugeordnet. Wenn Sie ein Servlet als Ihr Servlet festlegen <welcome-file>
, kann es anscheinend kein URL-Muster haben /
, was ich irgendwie komisch finde, denn würde das nicht für das Stammverzeichnis der Site stehen?
Die neue Zuordnung lautet wie folgt:
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>