Guida introduttiva: pubblicazione di contenuti statici

Scopri come pubblicare in modo sicuro contenuti statici come file HTML, CSS e immagini dall'ambiente standard di Google App Engine.

Prima di iniziare

  1. Configura l'ambiente di sviluppo e crea il tuo progetto App Engine.

  2. Se utilizzi un nome di dominio personalizzato per il tuo sito web, segui le istruzioni per aggiungere un dominio personalizzato al tuo progetto.

Pubblicare una pagina web

App Engine può pubblicare contenuti statici come pagine HTML e elementi multimediali come immagini. Per contenuto statico si intende tutto ciò che non verrà eseguito come JSP o Servlet.

L'esempio seguente è una pagina HTML di base che mostra un messaggio di benvenuto.

<!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>

Dove inserire i file statici

Devi inserire i file statici pubblicati nella directory webapp dell'app. Puoi utilizzare le cartelle, ma ricorda che tutti i percorsi e gli URI di file sono relativi alla directory webapp.

Dopo aver scelto una posizione per i file statici, devi definirne la posizione nel file appengine-web.xml utilizzando l'elemento <static-files>.

Nell'esempio che segue, una configurazione di base di appengine-web.xml considera tutti i file HTML nella directory webapp come file statici.

<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>

Puoi avere più elementi <include path> che fanno riferimento a diverse directory e tipi di file differenti. Espansione dell'esempio precedente:

<static-files>
  <include path="/**.html" >
  </include>
  <include path="/images/**.jpg" >
  </include>
</static-files>

Ora tutti i file con l'estensione .jpg nella directory webapp/images/ verranno trattati come file statici.

Nell'esempio precedente, se volessimo visualizzare logo.jpg dalla directory webapp/images, il tag <img> avrebbe l'URI di origine <img src="/images/logo.jpg">.

Forzare l'utilizzo del protocollo HTTPS per tutti i contenuti statici

Sebbene App Engine supporti la gestione di contenuti tramite HTTP o HTTPS, devi utilizzare HTTPS. Per configurare URL protetti, devi aggiungere un elemento <security-constraint> a web.xml del tuo progetto. Un esempio di <security-constraint> è mostrato qui:

<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>

Se utilizzi <transport-guarantee>CONFIDENTIAL</transport-guarantee>, tutte le richieste vengono reindirizzate automaticamente all'URI HTTPS dei contenuti statici.

Deployment in App Engine

Puoi eseguire il deployment della tua applicazione in App Engine utilizzando Maven.

Vai alla directory principale del progetto e digita:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud. Se il file pom.xml specifica già l'ID progetto, non è necessario includere la proprietà -Dapp.deploy.projectId nel comando che esegui.

Dopo che Maven ha eseguito il deployment dell'app, apri automaticamente una scheda del browser web nella nuova app digitando:

gcloud app browse

Passaggi successivi

I file statici possono essere utilizzati per pubblicare immagini, Cascading Style Fogli e contenuti HTML statici tramite App Engine. Per ampliare le tue conoscenze, ti consigliamo di consultare l'articolo sulla gestione dei dati utente tramite moduli HTML.