La mia azienda sta ripristinando il nostro sito Web nei prossimi mesi, passando da un sito Web ColdFusion a uno scritto in Java. Sto solo imparando Java e sono curioso di sapere come posso impostare le variabili degli scope dell'applicazione in un'applicazione web Java. ColdFusion ha il file application.cfm che contiene le variabili accessibili da tutte le pagine/componenti ColdFusion all'interno dell'app. Java ovviamente non ha un equivalente diretto a quel file, quindi mi chiedevo come ricreare qualcosa di simile in Java. Voglio avere un posto centrale a cui possano accedere tutte le pagine jsp, servlet, classi, ecc. Nella webapp.Utilizzo delle variabili scope dell'applicazione in java
Quindi qual è il modo migliore per fare qualcosa del genere?
Qualcuno ha qualche esempio di qualcosa di simile che hanno fatto?
Le variabili dell'ambito dell'applicazione devono essere inserite in una classe? un file xml? una pagina jsp? qualcos'altro?
È anche possibile avere variabili di scope dell'applicazione in java webapp?
Esempio: sarebbe un luogo che contiene dire il percorso di una cartella di immagini, quindi in singole pagine JSP o classi o qualsiasi altra cosa avrebbe bisogno accesso a quella cartella immagini, è possibile riferimento alla variabile ambito domanda di quel percorso, invece di scriverlo in ogni posto. Quindi se per qualche ragione avessimo bisogno di spostare la posizione di quella cartella di immagini, dovremmo semplicemente cambiare la variabile di percorso in quella posizione e non dover aggiornare 20 posizioni che fanno riferimento a quella cartella di immagini.
Ho avuto difficoltà a trovare informazioni su questo tipo di cose nella mia ricerca online, motivo per cui vi sto chiedendo qui. So che è molto chiedere una spiegazione a questo tipo di cose, ma ho pensato di chiedere e vedere che tipo di risposte potrei ottenere.
Grazie per l'aiuto che puoi fornire su questo argomento.
Grazie. Quando si imposta un attributo nel contesto servlet, scade quando scade la sessione? Finora ho scoperto che posso impostare i tag nel mio file web.xml e accedere a quelli attraverso il contesto servlet, ma dubito che l'utilizzo del metodo setAttribute cambierebbe effettivamente il file web.xml, specialmente in fase di esecuzione. Quindi quale sarebbe il punto di impostare un attributo nel contesto servlet? È davvero diverso dall'impostazione di un attributo di sessione? Sono solo curioso. –
kei23th
Si può pensare a 'ServletContext' come uno spazio globale condiviso da tutti i Servlet, JSP ecc. Il' HttpSession' d'altra parte è specifico per ogni utente. ServletContext può essere inizializzato da web.xml ma le app J2EE non scrivono mai su web.xml. In genere è un negozio di sola lettura. La migliore pratica consiste nel definire i valori di "ambito applicazione" utilizzando un framework come Springs ['ApplicationContext'] (http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/context/ApplicationContext.html) e non inquinare il web.xml. Raccomando di rivedere alcuni documenti [Tutorial] (http://www.springsource.org/tutorials) – Brad