Pergunta

Eu estou trabalhando em um site em execução no Tomcat que armazena um monte de dados de membros, e eu não tenho certeza de como melhor pacote-lo.

Eu quero ser capaz de implantar uma guerra facilmente sem a necessidade de remover qualquer coisa a partir dele primeiro.

Meu primeiro pensamento foi para quebrar os dados dos membros em sua própria fora do diretório da guerra, mas o meu problema é que alguns dos que as necessidades de conteúdo para ser ligado no site (imagens, etc).

Tem que haver uma solução melhor do que a implantação de uma guerra, em seguida, copiar de volta os dados. Alguém tem alguma sugestão?

Foi útil?

Solução

Seu primeiro pensamento foi correta. Armazenar dados em direcotry fora é a melhor solução. Você pode facilmente problema correção com imagens através da criação de servlet que acessar esse diretório fora a pedido imagem.

Eu não posso postar o meu código, mas aqui é um fragmento semelhante que cria resposta. Você apenas tem que criar classe estendendo FileServlet e escrever código para o arquivo de carga do seu diretório.

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

Em seguida, adicione isso ao seu 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 cada link como http://myapp.com/upload/userimage.jpg será criado pelo servlet

Outras dicas

Você deve definitivamente separar seus dados a partir da aplicação. Como eu tenho certeza sobre as razões que inicialmente tinha para colocar dados do membro (aparentemente imagens e algo mais) que eu posso oferecer sugestões com base em um ambiente mais ideal.

Se você estiver armazenando informações em um monte de pessoas diferentes e necessitem de acesso a ele em vários lugares, por que não optar por utilizar um banco de dados? Talvez até mesmo um livre como PostgreSQL ou MySQL?

Se você armazenar seus dados em um banco de dados é fácil de recuperar através de java, usar um ORM como Hibernate ou apenas algumas bibliotecas básicas JDBC. Isso pressupõe que você entender SQL e a camada de banco de dados em Java.

Então, se você precisa de acesso a determinados arquivos que você pode criar um serviço orientado Architecture (SOA) e utilizar um serviço web repousante para puxar as imagens com base fora de um url. Este armazenamento permitiria ser transferida para outra máquina na sua zona de confiança.

É difícil oferecer uma boa solução, sem mais detalhes sobre o problema e sua configuração de servidor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top