giannino1995 ha scritto:
andbin ha scritto:
Giusto solo per chiarezza, ti è chiara la differenza tra la server-root (concetto generale del web) e la context-root (concetto specifico delle webapp Java) ?
No mi spieghi.
Ecco:
http://www.blabla.com/nomeapp/static/xyz.js
^ ^
| |
server-root context-root
La server-root è sempre la radice sotto l'host. Questo vale in generale sul web. Se il client (browser) maneggia un url
/qualcosa/blabla (per link <a>, CSS, JS, ec...) il "
/" iniziale è sempre relativo alla server-root.
La context-root è un concetto delle webapp Java. Tutto quello ad esempio che metti nel web.xml, che passi nel request.getRequestDispatcher() e altro,
SE inizia con "/" allora è relativo alla context-root.
Tranne casi particolari come il sendRedirect(). Qui se metti un "/" iniziale indica la server-root. Infatti il redirect lo fa il client, non c'entra la webapp.
giannino1995 ha scritto:
Io ho progettato semplicemente la mia applicazione su IntelliJ e sull'IDE tutto funzionava senza problemi. Parli troppo difficile, devi fare esempi più semplici se vuoi che ti segua.
Mi spiegheresti come progettare la mia webapp in modo che non sia necessario editare server.xml?
Innanzitutto usa JSTL nelle pagine JSP per emettere in output gli url a css/js/altro in modo corretto es.:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
....
<link href="<c:url value='/static/stili.css'/>" rel="stylesheet" type="text/css">
JSTL è una libreria, la tiri dentro con maven con
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
E se la "studi" un po' (almeno i tag col prefisso "c") è utile.
giannino1995 ha scritto:
Detto ciò ho risolto il problema con questo codice:
<Context path="" docBase="nc" debug="0" reloadable="true"></Context>
ma vorrei che la mia app funzionasse alla perfezione senza dover editare ogni volta server.xml.
Ti ripeto che se non modifichi il server.xml è meglio ..