2011-10-13 11 views
5

Sto sviluppando un'applicazione di applicazione Web di piccole dimensioni. L'obiettivo è creare una pagina di benvenuto index.html con Ajax + un servlet per gestire le richieste di ajax.context.xml vs web.xml nell'applicazione Web

Anche se ho pensato che sarei andato bene solo con un web.xml, non voglio effettuare il deployment su /, ma su /MyApp. Le proprietà del progetto di NetBeans offrono opzioni per impostare un percorso di contesto, che mi aiuta a distribuire su /MyApp. Tuttavia, aggiunge automaticamente un file /META-INF/context.xml, che è un po 'di confusione.

Le mie domande sono:

1) Ho davvero bisogno di un file context.xml non distribuire a /MyApp invece di /?

2) Se la risposta a 1) è no, come ottenere lo stesso con web.xml?

3) Che cosa è esattamente context.xml a web.xml?

risposta

8

/META-INF/context.xml è un Tomcat-specific config file. Viene utilizzato per configurare il modo in cui la tua app viene distribuita a Tomcat, incluso, tra le altre cose, il percorso di contesto in cui esiste. Altri contenitori hanno file simili che possono essere inclusi in una WAR per la configurazione del contenitore. Per rispondere alle vostre domande:

  1. No. Il context.xml incorporato è solo un modo per impostare il percorso del contesto, e come ho detto, sarà funzionare solo in Tomcat. In Tomcat, il comportamento predefinito consiste nel distribuire webapps in un contesto che ha il nome del file war, senza l'estensione ".war".
  2. Non è possibile impostare un percorso di contesto in web.xml. Questo è il descrittore di distribuzione dell'applicazione. Configura la tua applicazione e il percorso di contesto è esterno alla tua app. Appartiene al server/contenitore a cui si sta distribuendo l'app. La configurazione di un percorso di contesto viene sempre eseguita nella configurazione del contenitore.
  3. Se con "config.xml" intendevi "context.xml", allora penso di aver già risposto. In caso contrario, chiarisci la tua domanda.
+0

Grande, chiarisce perfettamente i concetti. Pensavo che context.xml fosse in realtà correlato all'applicazione stessa. Grazie. – JVerstry