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. Você pode usar pastas, mas lembre-se de que todos os caminhos de arquivos 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 básica appengine-web.xml 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 anterior, se quisermos exibir logo.jpg no diretório webapp/images, a tag <img> será o URI de origem <img src="/images/logo.jpg">.

Como forçar HTTPS para todo o conteúdo estático

Use HTTPS para disponibilizar conteúdo, ainda que o App Engine também seja compatível com HTTP. Para configurar URLs seguros, adicione um elemento <security-constraint> ao web.xml do seu projeto. Um exemplo de <security-constraint> é mostrado aqui:

<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

Você pode implantar o app no App Engine usando o Maven.

Acesse o diretório raiz do projeto e digite:

mvn appengine:deploy

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.