Aiuto su Webapps Tomcat

HolidaySoft.it

Utente Attivo
16 Ott 2012
105
0
0
Milano
www.holidaysoft.it
Ciao a tutti gli esperti del forum, scusatemi per la lunghezza del messaggio. Vorrei un grande aiuto per la pubblicazione del mio webapps.

Ho creato sul mio apache tomcat un sito raggiungibile tramite l’indirizzo
http://localhost:8080/OsteriaORistorante/CercaRistorante.htm......
Il tutto funziona correttamente:
- Tomcat viene avviato senza errori
- Il sito funziona e non da errori
- E soprattutto, le mie pagine gestite tramite framework Spring funzionano perfettamente
(@RequestMapping(value="/CercaRistorante.htm", method=RequestMethod.GET)
public ModelAndView CercaRistorante……………….
………………………………………)

Quanto sopra funziona sia in Eclipse con server Tomcat, sia copiando l’intero folder WebContent nel folder webapps di Tomcat5
Il mio casino nasce nel momento in cui ho pubblicato il WebContent nel hosting acquistato su mondoserver.com (hosting con java, mysql, apache tomcat).
In pratica ho pubblicato il tutto sotto il folder /osteriaoristorante.it/html, ho riavviato Tomcat ma stranamente sembra non caricare nulla del folder WEB-INF. Di seguito trovate il catalina.log:

Oct 16, 2012 6:20:15 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib
Oct 16, 2012 6:20:15 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property.
Oct 16, 2012 6:20:15 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-9024"]
Oct 16, 2012 6:20:15 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 901 ms
Oct 16, 2012 6:20:15 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Oct 16, 2012 6:20:15 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.27
Oct 16, 2012 6:20:37 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [20,795] milliseconds.
Oct 16, 2012 6:20:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /nfs_home/oster588/osteriaoristorante.it/html/modalfiles
Oct 16, 2012 6:20:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /nfs_home/oster588/osteriaoristorante.it/html/windowfiles
Oct 16, 2012 6:20:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /nfs_home/oster588/osteriaoristorante.it/html/res
Oct 16, 2012 6:20:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /nfs_home/oster588/osteriaoristorante.it/html/img2
Oct 16, 2012 6:20:37 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /nfs_home/oster588/osteriaoristorante.it/html/images
Oct 16, 2012 6:20:37 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-9024"]
Oct 16, 2012 6:20:37 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 21675 ms

Di seguito la struttura presente sul dominio:
/osteriaoristorante.it/html
/images
/img2
/res
….
/WEB-INF
Web.xml
OsteriaORistorante-servlet.xml
/classes
/jsp
/lib
a.html
b.html

Invece se tramite l’interfaccia messa a disposizione di mondoserver.com, pubblico il sito tramite il deploy del war generato da eclipse, viene creata nel folder /osteriaoristorante.it/html un folder chiamato OsteriaORistorante con ovviamente tutta la struttura sopra esposta al suo interno. Magicamente Tomcat vede tutto il contenuto di /osteriaoristorante.it/html/osteriaoristorante/WEB-INF con annesse classi
A questo punto il sito è raggiungibile solo tramite l’indirizzo http://www.osteriaoristorante.it/OsteriaORistorante/ e soprattutto tutte le mie pagine gestite tramite spring (RequestMapping) NON FUNZIONANO. Credo bisognerebbe riconfigurare un po’ di classi java. Ma la mia domanda è: cosa devo fare per far funzionare il tutto partendo dall’indirizzo http://www.osteriaoristorante.it/??
Se può esservi utile il web.xml:


<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>OsteriaORistorante</display-name>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext-security.xml
classpath:applicationContext-common-business.xml
classpath:applicationContext-common-authorization.xml
</param-value>
</context-param>

<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>OsteriaORistorante.root</param-value>
</context-param>

<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

<servlet>
<servlet-name>OsteriaORistorante</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet>
<servlet-name>remoting</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>OsteriaORistorante</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<error-page>
<error-code>403</error-code>
<location>/error.html</location>
</error-page>
</web-app>

Se avete bisogno di altre info, fatemi sapere
Grazie ovviamente!
 
Ciao tu scrivi che in locale il sito risponde alla url:

http://localhost:8080/OsteriaORistorante/CercaRistorante.htm......

perchè ti meravigli se pubblicando online risponde alla url?

http://www.osteriaoristorante.it/OsteriaORistorante/

Ogni war java ha un suo context, che su tomcat corrispone al nome del war stesso.
Quindi se il tuo war si chiama pippo.war l'applicazione risponderà su

http://indirizzo/pippo

Detto questo, l'unico modo di fa rispondere la tua app alla url

http://indirizzo/

solo usando tomcat, è quella di assegnarle in context "/" e per farlo bisogna chiamare il war ROOT.war. Il problema è che questo war già esiste sotto tomcat e contiene il manager che tu prima citavi che ti permette di deployare i war, quindi dovresti rimuovere quello e mettere il tuo, facendo però il deploy da filesystem (cosa che mi sembra non ti fosse riuscita).

Altro modo è quella di impostare una rewrite a livello di apache che ti gira tute le richieste

http://indirizzo/

alla url

http://indirizzo/pippo

Spero di esserti stato di aiuto.

ciao
 

Discussioni simili