Java - Problema servlet: Impostare una cartella in cui memorizzare e leggere oggetti serializzati

di il
4 risposte

Java - Problema servlet: Impostare una cartella in cui memorizzare e leggere oggetti serializzati

Salve ragazzi, come.da titolo ho un problema con una servlet e dei file contenenti oggetti serializzati. Uso tomcat 9. L obiettivo è quello di impostare un percorso server side ovviamente, in cui la servlet possa salvare e successivamente leggere dei file contenenti oggetti serializzati. C è qualcuno che possa darmi una mano ? Ringrazio in anticipo

4 Risposte

  • Re: Java - Problema servlet: Impostare una cartella in cui memorizzare e leggere oggetti serializzati

    beginner32 ha scritto:


    L obiettivo è quello di impostare un percorso server side ovviamente, in cui la servlet possa salvare e successivamente leggere dei file contenenti oggetti serializzati.
    Ti conviene scegliere una cartella che sia completamente al di fuori della webapp. Poi il percorso alla cartella lo puoi rendere configurabile e poi rintracciabile dalla webapp in una svagonata di modi.
  • Re: Java - Problema servlet: Impostare una cartella in cui memorizzare e leggere oggetti serializzati

    Grazie per la risposta. Sapresti indicarmi uno fra i vari modi possibili?
  • Re: Java - Problema servlet: Impostare una cartella in cui memorizzare e leggere oggetti serializzati

    beginner32 ha scritto:


    Grazie per la risposta. Sapresti indicarmi uno fra i vari modi possibili?
    La cartella potrebbe già essere in una locazione facilmente rintracciabile (quindi senza configurazione), ad esempio nella "home" dell'utente (o più sotto).

    Se la si vuole mettere altrove in una locazione qualsiasi, allora si può configurare quella locazione (giusto alcune possibilità):
    - con una system property Java (qui bisogna avere "controllo" su come/dove viene avviato Tomcat)
    - con una variabile di ambiente di sistema
    - con un file di properties interno alla applicazione
    - con un file di properties esterno alla applicazione (in una locazione rintracciabile, idem es. sotto la "home" dell'utente)
    - con un init-param della servlet o con un context-param globale del contesto (entrambi nel web.xml)
  • Re: Java - Problema servlet: Impostare una cartella in cui memorizzare e leggere oggetti serializzati

    Grazie per la risposta. Attraverso i consigli ,ho messo in atto una soluzione di questo tipo. Solo che avviando il server direttamente da eclipse tutto funziona correttamente , anche utilizzando client esterni alla rete locale. Esportando il tutto in un file . war invece, al di fuori di eclipse, è come se tomcat non fosse in grado di raggiungere il percorso e di conseguenza salvare i file in esso. Non riesco a capire dove sia l'errore e come fare per sistemarlo..

    
    @WebServlet("/MainServlet")
    public class MainServlet extends HttpServlet {
    
    	public void saveSerializedObject() {
    
    		String username = System.getProperty("user.name");
               	String path = getServletContext().getInitParameter("saved.location") + username;
               	
           		/*Parte del percorso è stata inserita nel context-param presente in web.xml*/
              	
              	File folder = new File(path + File.separator + "Saved Files");
               	if(!folder.exists()) {
                 	   folder.mkdir();
                	}
               
               	this.path = folder.getAbsolutePath();
                	myObject.save(this.path + File.separator + fileName);    
                
         }
         
    }
    
    
Devi accedere o registrarti per scrivere nel forum
4 risposte