Ho realizzato una seconda webapp che in locale funziona benissimo ma che non posso mettere dentro ROOT perché ho già un'altra esercitazione (esercitazione nr. 1).
Purtroppo la mia seconda webapp funziona quando viene caricata nella cartella ROOT, se metto la mia webapp in una cartella diversa come ad esempio ‘esercitazione2’ le risorse (file css, html, ecc…) non sono più raggiungibili.
Per risolvere questo problema pensavo di usare JSTL e quindi ho aggiunto a pom.xml la dipendenza:
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Poi nella pagina index.jsp ho aggiunto il taglib come da specifica:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Il problema è che poi non so come modificare le mie jsp e le mie classi.
<%
// Si impedisce il caching della pagina. (serve soprattutto per azzerare index.jsp dopo la login!)
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setHeader("Expires", "0"); // Proxies.
%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="it">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ include file="<c:url value='/WEB-INF/blocchi/head.jsp'/>" %>
<body id="page-top">
<%@ include file="/WEB-INF/blocchi/menu.jsp" %>
<%@ include file="/WEB-INF/blocchi/header.jsp" %>
In pratica IntelliJ mi segna come sbagliato il codice seguente:
<%@ include file="<c:url value='/WEB-INF/blocchi/head.jsp'/>" %>
Dunque come si usa questa libreria?
Online si fa questo esempio ma proprio non capisco...
<c:url value = "/core_tags" var = "myURL">
<c:param name = "parameter_1" value = "1234"/>
<c:param name = "parameter_2" value = "abcd"/>
</c:url>
Altra domanda: quando eseguo il deploy in locale su IntelliJ, l’IDE carica la mia webapp qui:
D:\ALTRO\Java\apache-tomcat-9.0.17\webapps\ROOT
infatti vedo tutti i file tra cui anche la cartella WEB-INF. La ROOT è la
context-root ovvero il percorso aggiunto da
c:url?