У меня возникают проблемы с загрузкой CSS и изображений и созданием ссылок на другие страницы, когда у меня есть сервлет в JSP. В частности, когда я устанавливаю свой <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.jsp
- это файл, содержащий тег ссылки для CSS. HomeServlet
устанавливается как my welcome-file
в web.xml
:
<welcome-file-list>
<welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
Сервлет объявляется и отображается следующим образом в 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. Наконец-то я нашел проблему - мой сервлет был неправильно отображен. По-видимому, при установке сервлета в качестве <welcome-file>
он не может иметь шаблон URL-адреса /
, который я нахожу довольно странным, потому что это не будет означать корневой каталог сайта?
Новое отображение выглядит следующим образом:
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>