Scopri come pubblicare in modo sicuro contenuti statici come file HTML, CSS e immagini dall'ambiente standard di Google App Engine.
Prima di iniziare
Configura l'ambiente di sviluppo e crea il progetto App Engine.
Se utilizzi un nome di dominio personalizzato per il tuo sito web, segui le istruzioni per aggiungere un dominio personalizzato al tuo progetto.
Visualizzazione di una pagina web
App Engine può pubblicare contenuti statici come pagine HTML e contenuti multimediali come immagini. I contenuti statici sono tutti i contenuti che non verranno eseguiti 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 forniti nella directory webapp dell'app. Puoi
utilizzare le cartelle, ma ricorda che tutti i percorsi dei file e gli URI 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 seguente, una configurazione appengine-web.xml di base 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 directory e tipi di file diversi. Ampliando l'esempio precedente:
<static-files>
<include path="/**.html" >
</include>
<include path="/images/**.jpg" >
</include>
</static-files>
Ora tutti i file con 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 HTTPS per tutti i contenuti statici
Sebbene App Engine supporti la pubblicazione di contenuti utilizzando HTTP o HTTPS,
ti consigliamo di utilizzare HTTPS. Per configurare
URL sicuri,
devi aggiungere un elemento <security-constraint> al
web.xml del tuo progetto. Di seguito è riportato un <security-constraint> di esempio:
<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 app 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
tuo file pom.xml
specifica già
l'ID progetto, non devi includere la proprietà -Dapp.deploy.projectId nel
comando che esegui.
Dopo che Maven esegue il deployment dell'app, si apre automaticamente una scheda del browser web nella nuova app digitando:
gcloud app browse
Passaggi successivi
I file statici possono essere utilizzati per pubblicare immagini, fogli di stile CSS e contenuti HTML statici tramite App Engine. Per ampliare le tue conoscenze, ti consigliamo di consultare la sezione relativa alla gestione dei dati utente tramite i moduli HTML.