Ogni applicazione distribuita sul mio Tomcat restituisce status code 404
ad ogni richiesta effettuata. Ho provato diversi progetti, helloworlds o scheletri e ogni progetto si comporta come gli altri:Tomcat: codice di stato 404 su richieste di ogni applicazione
Alcuni dei progetti che ho usato:
https://github.com/mwarman/skeleton-ws-spring-boot
https://spring.io/guides/gs/rest-service/ (Posso eseguirlo con mvn spring-boot:run
ma non funziona come distribuito su Tomcat)
https://github.com/shagstrom/spring-mvc-hibernate-skeleton
Sto utilizzando la più recente Tomcat8 (8.0.27)
, Oracle JDK 8
. Ho anche provato Tomcat7
con OpenJDK 7
. I Tomc utilizzati sono in esecuzione su MAC e Debian. Ho creato app tramite mvn e tramite Intellij Idea.
I tomcats sono puliti, non viene modificata alcuna configurazione (eccetto l'aggiunta di manager-gui user).
Dal momento che ho provato molti progetti diversi, non credo che il problema sia nel codice. È nella configurazione di Tomcat? Come posso farlo funzionare?
EDIT: server.xml
codice:
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
Come stai distribuendo i vostri progetti in Tomcat? Sei sicuro che vengano distribuiti controllando i log? –
L'elenco delle applicazioni in Tomcat Manager è avviato? La pagina HOME funziona ('http: // localhost: 8080 /')? – Andreas
@LuiggiMendoza Lo sto distribuendo tramite Idea o tramite gestore. Dai log: "Artifact è stato distribuito correttamente" conferma che la distribuzione ha avuto successo. –