Primeiros passos: como disponibilizar conteúdo estático

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

  1. Configure o ambiente de desenvolvimento e crie o projeto do App Engine.

  2. 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 para o HTTPS do URI 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 Cloud. Se seu arquivo pom.xmlespecificar 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.