Domanda

Sto lavorando su un sito web in esecuzione in Tomcat che memorizza un sacco di dati membri, e non sono sicuro di come miglior pacchetto di esso.

Voglio essere in grado di distribuire una guerra facilmente senza bisogno di rimuovere qualsiasi cosa, da prima.

Il mio primo pensiero è stato quello di rompere i dati membro nella propria directory di fuori della guerra, ma il mio problema è che alcuni di tali contenuti deve essere collegato nel sito (immagini, ecc).

Ci deve essere una soluzione migliore rispetto la distribuzione di una guerra, quindi copiare di nuovo i dati. Qualcuno ha qualche suggerimento?

È stato utile?

Soluzione

Il tuo primo pensiero è stato corretto. L'archiviazione dei dati in direcotry di fuori è la soluzione migliore. Si può facilmente risolvere problema con le immagini attraverso la creazione di servlet che accedere a quella directory al di fuori su richiesta di immagine.

Non riesco a postare il mio codice, ma qui è simile frammento che crea la risposta. Non vi resta che creare classe che estende FileServlet e scrivere il codice per caricare il file dalla cartella.

http://snippets.dzone.com/posts/show/4629

Quindi, aggiungere questo al tuo web.xml:

<servlet>
    <servlet-name>My File Servlet</servlet-name>
    <servlet-class>my.package.FileServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>My File Servlet</servlet-name>
    <url-pattern>/upload/*</url-pattern>
</servlet-mapping>

e tutti i link come http://myapp.com/upload/userimage.jpg verrà creato da servlet

Altri suggerimenti

Si dovrebbe separare i dati dalla vostra applicazione. Come io sono sicuro sulle ragioni che hai avuto in origine per mettere i dati dei membri (apparentemente immagini e qualcos'altro) che posso offrire suggerimenti sulla base di un ambiente più ideale.

Se si memorizzano le informazioni su un sacco di persone diverse e hanno bisogno di accesso ad essa in più posti, perchè non si sceglie di utilizzare un database? Forse anche uno gratuito come PostgreSQL o MySQL?

Se si memorizzano i dati in un database è facile da recuperare attraverso java, utilizzare un ORM come Hibernate o solo alcune librerie JDBC di base. Questo presuppone si capisce SQL e del livello di database in Java.

Poi, se è necessario accedere a determinati file è possibile creare un Servizio Orientated Architecture (SOA) e utilizzare un servizio web riposante per tirare le immagini in base a un URL. Questo deposito permetterebbe lo sbarco ad un'altra macchina nella vostra zona di fiducia.

E 'difficile offrire una buona soluzione senza ulteriori dettagli sul problema e la configurazione del server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top