Mam problem z ładowaniem CSS i obrazów oraz tworzeniem odsyłaczy do innych stron, gdy mam aplet przekazujący do strony JSP. W szczególności, kiedy ustawię <welcome-file>
na index.jsp
, CSS jest ładowany, a moje obrazy są wyświetlane. Jeśli jednak ustawię opcję, <welcome-file>
do HomeServlet
której przekazuje sterowanie index.jsp
, CSS nie jest stosowany, a moje obrazy nie są wyświetlane.
Mój plik CSS jest w formacie web/styles/default.css
.
Moje obrazy są w formacie web/images/
.
Łączę się z moim CSS w ten sposób:
<link href="styles/default.css" rel="stylesheet" type="text/css" />
Wyświetlam moje obrazy w następujący sposób:
<img src="images/image1.png" alt="Image1" />
Skąd się bierze ten problem i jak mogę go rozwiązać?
Aktualizacja 1 : Dodałem strukturę aplikacji, a także kilka innych informacji, które mogą pomóc.
header.jsp
Plik jest plikiem, który zawiera znacznik link do CSS. HomeServlet
Jest ustawiony jako mój welcome-file
in web.xml
:
<welcome-file-list>
<welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
Aplet jest deklarowany i mapowany w następujący sposób w 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>
Aktualizacja 2 : W końcu znalazłem problem - mój serwlet został nieprawidłowo zmapowany. Najwyraźniej ustawiając serwlet jako swój, <welcome-file>
nie może mieć wzorca adresu URL /
, co wydaje mi się trochę dziwne, ponieważ czy nie oznaczałoby to katalogu głównego witryny?
Nowe mapowanie wygląda następująco:
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>