WebSphere Application Server consente di configurare il comportamento del contenitore Web a livello di sistema impostando alcune proprietà personalizzate predefinite.
È possibile impostare proprietà del contenitore Web personalizzate utilizzando la Console di amministrazione WAS, andando su Application servers > servername > Web container > Custom Properties. Questa è una schermata di proprietà personalizzate che sono impostate sulla mia installazione di WebSphere Portal locale
Queste sono le liste di proprietà e il loro significato in WAS 6.1
com.ibm.ws.webcontainer.disallowserveservletsbyclassname: quando la proprietà serveServletsByClassnameEnabled è abilitata, è possibile accedere direttamente ai servlet, con conseguente possibile esposizione di sicurezza. Definire la seguente proprietà personalizzata per impedire l’utilizzo della proprietà serveServletsByClassnameEnabled a livello dell’intero server delle applicazioni.
com.ibm.ws.webcontainer.donotservebyclassname: un elenco delimitato da punti e virgola di classi da non consentire completamente di essere servito dal nome della classe.
com.ibm.ws.webcontainer.suppressheadersinrequest: è possibile utilizzare la proprietà personalizzata com.ibm.ws.webcontainer.suppressheadersinrequest per sopprimere l’inclusione delle intestazioni delle richieste che iniziano con caratteri speciali, come “$” o “_“. Alcune applicazioni non gestiscono intestazioni di richiesta che iniziano con caratteri speciali
com.ibm.ws.webcontainer.webgroupvhostnotfound: messaggio di errore SRVE0017W indica “Web Group not found: {0}” e il messaggio di errore SRVE0255 indica “A WebGroup/Virtual Host to handle {0} has not been defined”. Questi messaggi possono essere restituiti quando l’applicazione chiamata per elaborare la richiesta servita da IBM WebSphere Application Server non viene trovata. È possibile utilizzare la proprietà personalizzata com.ibm.ws.webcontainer.webgroupvhostnotfound per modificare il testo di questi messaggi in un testo più adatto all’ambiente.
DecodeUrlAsUTF8: la funzione URL con codifica UTF-8, che fornisce URL (Uniform Resource Locators) codificati in UTF-8 per supportare i caratteri a doppio byte negli URL, è abilitata per impostazione predefinita. È possibile impedire al contenitore Web di decodificare esplicitamente gli URL in UTF-8 e fare in modo che utilizzino lo standard ISO-8859 secondo la specifica HTTP corrente impostando il valore di DecodeUrlAsUTF8 su falso
listener: le specifiche del servlet supportano le applicazioni che registrano i listener per gli eventi relativi alla servlet su una singola applicazione tramite il descrittore web.xml. Tuttavia, utilizzando la proprietà personalizzata degli ascoltatori, un server può ascoltare gli eventi servlet attraverso le applicazioni Web. Per implementare l’ascolto globale, un listener viene registrato a livello di contenitore Web e viene propagato a tutte le applicazioni Web installate e nuove. È possibile creare un listener servlet seguendo la specifica J2EE e specificarne il nome per applicarlo a tutte le applicazioni Web
DebugSessionCrossover: la proprietà personalizzata DebugSessionCrossover consente al codice di eseguire controlli aggiuntivi per verificare che solo la sessione associata alla richiesta sia accessibile o referenziata. I messaggi vengono registrati se vengono rilevate discrepanze.
com.ibm.wsspi.jsp.disableTldSearch: la proprietà personalizzata com.ibm.wsspi.jsp.disableTldSearch può essere utilizzata per migliorare il tempo di avvio dell’applicazione. Per impostazione predefinita, all’avvio di un’applicazione, il motore JSP ricerca le directory di installazione dell’applicazione per i file TDT (taglib descriptor). Questo processo di ricerca potrebbe aumentare il tempo di avvio per le applicazioni di grandi dimensioni con un numero elevato di file e directory. Per disabilitare questo processo di ricerca, imposta il valore di questa proprietà su true
com.ibm.ws.webcontainer.disallowAllFileServing: è possibile abilitare la pubblicazione di file a livello globale su un determinato server applicazioni utilizzando la proprietà personalizzata fileServingEnabled. Tuttavia, la proprietà fileServingEnabled viene sovrascritta dalle informazioni di distribuzione specifiche di ciascuna applicazione. Pertanto, la proprietà personalizzata fileServingEnabled corrente si applica solo come backup nel caso in cui un’applicazione non definisca l’impostazione fileServingEnabled stessa. Per ignorare globalmente questa impostazione su un server applicazioni specifico per impedire al server delle applicazioni di offrire file statici indipendentemente dalle impostazioni di distribuzione individuali, impostare la proprietà personalizzata del contenitore Web com.ibm.ws.webcontainer.disallowAllFileServing su true.
com.ibm.ws.webcontainer.mapFiltersToAsterisk: durante l’elaborazione di una richiesta, il contenitore Web riconosce i mapping del servlet su “*” come i mapping servlet su “/ *”. Per fornire lo stesso comportamento con la mappatura dei filtri, impostare la proprietà personalizzata com.ibm.ws.webcontainer.mapFiltersToAsterisk su true. Impostando la proprietà personalizzata com.ibm.ws.webcontainer.mapFiltersToAsterisk su true, il contenitore Web riconosce i mapping dei filtri su “*” come mappatura del filtro su “/ *”. Questa proprietà personalizzata non fa distinzione tra maiuscole e minuscole.