Tengo problemas para cargar CSS e imágenes y crear enlaces a otras páginas cuando tengo un servlet que reenvía a un JSP. Específicamente, cuando configuro mi <welcome-file>
en index.jsp
, el CSS se carga y mis imágenes se muestran. Sin embargo, si configuro mi control <welcome-file>
a HomeServlet
qué reenvíos index.jsp
, el CSS no se aplica y mis imágenes no se muestran.
Mi archivo CSS está en formato web/styles/default.css
.
Mis imágenes están en web/images/
.
Me estoy vinculando a mi CSS así:
<link href="styles/default.css" rel="stylesheet" type="text/css" />
Estoy mostrando mis imágenes de la siguiente manera:
<img src="images/image1.png" alt="Image1" />
¿Cómo se produce este problema y cómo puedo solucionarlo?
Actualización 1 : agregué la estructura de la aplicación, así como otra información que podría ayudar.
El header.jsp
archivo es el archivo que contiene la etiqueta de enlace para CSS. El HomeServlet
está configurado como mi welcome-file
en web.xml
:
<welcome-file-list>
<welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
El servlet se declara y se asigna de la siguiente manera en 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>
Actualización 2 : finalmente encontré el problema: mi servlet se asignó incorrectamente. Aparentemente, al configurar un Servlet como suyo, <welcome-file>
no puede tener un patrón de URL /
, lo cual me parece un poco extraño, porque ¿no representaría el directorio raíz del sitio?
El nuevo mapeo es el siguiente:
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>