Questa è la mia prima domanda qui (in modo da essere gentile :)). Ho cercato ovunque e non riesco a trovare la risposta al mio problema (sono anche andato un po 'pazzo nel processo).Apache Tomcat: La risorsa richiesta() non è disponibile (mentre acessing la risorsa che dovrebbe essere disponibile)
sto utilizzando Tomcat 7 e ultima Eclipse IDE per sviluppatori Java EE (piattaforma Eclipse 3.7.2 e IDE Java EE 1.4.2). Così, ottengo questo errore: "La risorsa richiesta() non è disponibile" durante l'accesso http://127.0.0.1:8080/myTest/WEB-INF/jsp/savename.jsp. Ho controllato molte volte che questo file si trova sul disco nella cartella esatta. Ho provato a eseguire Tomcat all'interno di Eclipse e a distribuire il file .war esportato in Tomcat. Ogni volta che compare lo stesso errore.
miei file:
myTest/index.jsp
myTest/WEB-INF/html/GetName.html
myTest/WEB-INF/jsp/savename.jsp
Quando corro "http: // localhost/myTest" index.jsp corre sempre in modo corretto. allora io uso
"<jsp:forward page="WEB-INF/html/GetName.html"></jsp:forward>"
dentro la mia index.jsp per navigare GetName.html e che funziona anche. Il problema compare in GetName.html:
<form action='WEB-INF/jsp/savename.jsp' method="post" >
What's your name? <INPUT TYPE=TEXT NAME=username SIZE=20>
<P><INPUT TYPE=SUBMIT>
</form>
quando si preme pulsante di invio in forma, il browser reindirizza a: http://127.0.0.1:8080/myTest/WEB-INF/jsp/savename.jsp e l'errore si apre.
Così ho davvero non capisco perché questo sta accadendo ... Difetto applicazioni Tomcat funzionano perfettamente ...
P.S. Ho provato anche manualy la navigazione verso i file:
http://127.0.0.1:8080/myTest/WEB-INF/html/GetName.html
http://127.0.0.1:8080/myTest/WEB-INF/jsp/savename.jsp
ma anche ottenere l'errore (anche se idex.jsp naviga anche GetName.html senza problemi) ..
Ogni aiuto è molto apprezzata! Grazie !!
Grazie uomo! Ma il problema persiste ... Come posso collegare diversi file all'interno di cartelle diverse? Perché il modulo nel GetName.html non può accedere a WEB-INF/jsp/savename.jsp? Quale sarebbe la soluzione? (eccetto mettere tutti i file nella directory principale ...) – MoD
Mi spiace dirlo, ma con semplici JSP non esiste un'altra soluzione. I dati del modulo vengono inviati dal browser, quindi il browser assembla l'URL e invia i dati al server utilizzando tale URL, e il server dice "NO, non puoi accedere a WEB-INF". Pertanto devi mettere * savename.jsp * nella directory root, o un'altra directory nella directory root, e usare i tag o le direttive include per caricare il contenuto reale dai file sotto WEB-INF. – t0r0X
Penso di sapere cosa stai cercando di ottenere: proteggere/nascondere tutti i JSP e il codice relativo. Come ho già detto, non si può fare con semplici JSP. È necessario creare un servlet o un filtro che funge da "gateway" ed è mappato su un URI non in/sotto WEB-INF e che inoltra le richieste ai JSP all'interno di WEB-INF. Preferisco raccomandare l'uso di un framework che offre tali capacità, come ad es. Quadro MVC primaverile. Permettetemi di darvi alcuni suggerimenti: http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-features – t0r0X