2015-10-11 11 views
5

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

enter image description here


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 &quot;%r&quot; %s %b" /> 

     </Host> 
    </Engine> 
    </Service> 
</Server> 
+1

Come stai distribuendo i vostri progetti in Tomcat? Sei sicuro che vengano distribuiti controllando i log? –

+0

L'elenco delle applicazioni in Tomcat Manager è avviato? La pagina HOME funziona ('http: // localhost: 8080 /')? – Andreas

+0

@LuiggiMendoza Lo sto distribuendo tramite Idea o tramite gestore. Dai log: "Artifact è stato distribuito correttamente" conferma che la distribuzione ha avuto successo. –

risposta

0

Se è stato installato Tomcat con successo, si può avere visto pagina Tomcat principale dal browser http://localhost:8080/ URL. (Altrimenti, è necessario controllare prima l'installazione di Tomcat.)

Immagino che potresti aver costruito il vaso incantando sopra i siti che hai menzionato. Mi chiedo se hai applicato il vaso nel tuo tomcat o meno perché hai menzionato lo stesso risultato di altri progetti. Devi applicare jar o war nel tuo tomcat per applicare il programma java.

Ecco i link che desidero possano essere utili a voi.

Imballaggio guerra: How to make war file in Eclipse

Tomcat - la guerra l'implementazione del file: https://www.youtube.com/watch?v=9X9DA8oVodk

+0

Grazie per la risposta, ma sono in grado di creare e distribuire la guerra da questi progetti, anche la pagina indice e il gestore di Tomcat sono ok. La distribuzione ha esito positivo e il progetto è in esecuzione. –

Problemi correlati