Como faço para fazer o WebLogic 8.1 serve conteúdo estático?
-
19-08-2019 - |
Pergunta
Eu venho do mundo de código aberto, onde estou acostumado a ter o Apache sirva minhas imagens, CSS, JavaScript etc., enquanto o Tomcat ou um servidor de aplicativos de seu ILK lida com todo o levantamento Java EE.
Mas agora estou fazendo um projeto com o WebLogic 8.1 e não consigo descobrir como fazê -lo funcionar. Por exemplo, o conceito de raiz de documento. Como posso configurar isso?
Solução
Você pode querer dar uma olhada aqui e aqui:
Aqui está a versão curta do que Bea diz:
Aplicativos da web
Os aplicativos HTTP e da Web são implantados de acordo com a especificação Servlet 2.3 da Sun Microsystems, que descreve o uso de aplicativos da Web como uma maneira padronizada de agrupar os componentes de um aplicativo baseado na Web. Esses componentes incluem páginas JSP, servlets HTTP e recursos estáticos, como páginas HTML ou arquivos de imagem.
Basicamente, o que eu tinha que fazer esse tipo de coisa para trabalhar era configurar meu conjunto de páginas estáticas como um aplicativo e implantá -lo como tal. Em qualquer diretório ou .war que você implantar, você precisará de um diretório da Web-Inf e provavelmente um arquivo web.xml dentro desse ponto para seus arquivos estáticos.
Estamos executando o WL 10, mas o conceito deve ser o mesmo:
Aqui está o snip do nosso config.xml que usamos para servir algum conteúdo estático:
<app-deployment>
<name>myStaticContentApp</name>
<target>myAppServer</target>
<module-type>war</module-type>
<source-path>myStaticContentDir</source-path>
<deployment-order>100</deployment-order>
<security-dd-model>Advanced</security-dd-model>
<staging-mode>nostage</staging-mode>
</app-deployment>
E então, no diretório "MyStaticContentDir", temos os arquivos estáticos e, em seguida, um diretório da Web-Inf com isso como o web.xml dentro dele:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>myStaticFile.html</welcome-file>
</welcome-file-list>
</web-app>
Outras dicas
A maneira como vejo isso é colocar o conteúdo estático em um servidor da Web no DMZ e deixar que ele lide com todo o conteúdo estático, como páginas e imagens estáticas HTML. Permita apenas que as solicitações de conteúdo dinâmico sejam transmitidas de volta ao WebLogic.