Saiba como disponibilizar, de maneira segura, conteúdo estático, como arquivos HTML, CSS e imagens do ambiente padrão do Google App Engine.
Antes de começar
Configure o ambiente de desenvolvimento e crie o projeto do App Engine.
Se estiver usando um nome de domínio personalizado para o site, siga as instruções para adicionar um domínio personalizado ao projeto.
Como exibir uma página da Web
O App Engine pode disponibilizar conteúdo estático, como páginas HTML, e mídia, como imagens. O conteúdo estático não é executado como JSPs ou Servlets.
O exemplo a seguir é uma página HTML básica que mostra uma mensagem de boas-vindas.
<!DOCTYPE html>
<html>
<head>
<title>The App Engine Blog</title>
</head>
<body>
<h1>Welcome to the App Engine Blog</h1>
<p>This is being served by App Engine!</p>
</body>
</html>
Onde colocar os arquivos estáticos
Coloque os arquivos estáticos disponibilizados dentro do diretório webapp
do aplicativo. É possível usar pastas, mas lembre-se de que todos os caminhos de arquivo e URIs são relativos ao diretório webapp
.
Depois de escolher um local para os arquivos estáticos, defina-o no arquivo appengine-web.xml
, usando o elemento <static-files>
.
No exemplo abaixo, uma configuração appengine-web.xml
básica trata todos os arquivos HTML no diretório webapp
como arquivos estáticos.
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<threadsafe>true</threadsafe>
<runtime>java8</runtime>
<static-files>
<include path="/**.html" >
</include>
</static-files>
</appengine-web-app>
É possível ter vários elementos <include path>
que fazem referência a diferentes diretórios e tipos de arquivo. Mais detalhes sobre o exemplo anterior:
<static-files>
<include path="/**.html" >
</include>
<include path="/images/**.jpg" >
</include>
</static-files>
Agora, todos os arquivos com a extensão .jpg
no diretório webapp/images/
serão tratados como arquivos estáticos.
No exemplo acima, se quiséssemos exibir logo.jpg
do diretório webapp/images
, a tag <img>
teria o URI de origem <img src="/images/logo.jpg">
.
Como forçar HTTPS para todo o conteúdo estático
Embora o App Engine seja compatível com a veiculação de conteúdo usando HTTP ou HTTPS, use o HTTPS. Para configurar URLs seguros, adicione um elemento <security-constraint>
ao web.xml
do projeto. Veja um exemplo de <security-constraint>
:
<security-constraint>
<web-resource-collection>
<web-resource-name>blog</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Ao usar <transport-guarantee>CONFIDENTIAL</transport-guarantee>
, todas as solicitações são redirecionadas automaticamente ao URI do HTTPS do conteúdo estático.
Como implantar no App Engine
Implante o app no App Engine usando o Maven.
Acesse o diretório raiz do projeto e digite:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Substitua PROJECT_ID pelo ID do projeto do Google Cloud. Se
o arquivo pom.xml
já
especificar o
ID do projeto, não será necessário incluir a propriedade -Dapp.deploy.projectId
no
comando executado.
Depois que o Maven implantar o aplicativo, digite o comando a seguir para abrir uma guia do navegador da Web automaticamente em seu novo aplicativo:
gcloud app browse
A seguir
Os arquivos estáticos podem ser usados para disponibilizar imagens, Cascading Style Sheets e conteúdo HTML estático por meio do App Engine. Para saber mais, consulte como processar os dados do usuário por meio de formulários HTML.