O Google Code é oferecido em: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
Aplicativos Java do Google App Engine usam o padrão servlet Java para interagir com o ambiente de servidor da web. Os arquivos de um aplicativo, incluindo classes compiladas, JARs, arquivos estáticos e arquivos de configuração, são organizados em uma estrutura de diretórios usando o layout do padrão WAR para aplicativos da web em Java. Você pode usar o processo de desenvolvimento que quiser para desenvolver servlets da web e produzir um diretório WAR (os arquivos WAR ainda não são suportados pelo SDK).
Para este tutorial, usaremos um único diretório chamado Guestbook/ para todos os arquivos do projeto. Um subdiretório chamado src/ contém o código fonte Java e um subdiretório chamado war/ contém o aplicativo completo organizado no formato WAR. Nosso processo de construção compila os arquivos de origem Java e coloca as classes compiladas no local apropriado no war/.
O diretório completo do projeto é semelhante ao seguinte:
Guestbook/
src/
...Java source code...
META-INF/
...other configuration...
war/
...JSPs, images, data files...
WEB-INF/
...app configuration...
lib/
...JARs for libraries...
classes/
...compiled classes...
Se você estiver usando o Eclipse, crie um novo projeto clicando no botão New Web Application Project (Novo projeto de aplicativo da web) na barra de ferramentas:
Use Guestbook como o nome do projeto e guestbook como o pacote. Desmarque "Use Google Web Toolkit" (Usar o Google Web Toolkit) e verifique se "Use Google App Engine" (Usar o Google App Engine) esteja selecionado. Consulte Como usar o Plug-in do Google para o Eclipse para obter mais informações. O assistente cria a estrutura de diretórios e os arquivos descritos abaixo.
Se você não estiver usando o Eclipse, crie a estrutura de diretórios descrita acima. À medida que você lê cada um dos arquivos descritos nesta seção, crie os arquivos usando os locais e nomes especificados.
Você também pode copiar o novo modelo de projeto incluído com o SDK, no diretório appengine-java-sdk/demos/new_project_template/.
Aplicativos Java do Google App Engine usam a API de servlet Java para interagir com o servidor da web. Um servlet HTTP é uma classe de aplicativo que pode processar e responder solicitações da web. Essa classe se estende para a classe javax.servlet.GenericServlet ou para a classe javax.servlet.http.HttpServlet.
O nosso projeto de livro de visitantes começa com uma classe de servlet, um servlet simples que exibe uma mensagem.
Se você não estiver usando o plug-in para o Eclipse, crie os diretórios para o caminho src/guestbook/ e crie o arquivo da classe de servlet descrito abaixo.
No diretório src/guestbook/, um arquivo chamado GuestbookServlet.java tem o seguinte conteúdo:
package guestbook;
import java.io.IOException;
import javax.servlet.http.*;
public class GuestbookServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
Quando o servidor da web recebe uma solicitação, ele determina qual classe de servlet deve chamar usando um arquivo de configuração conhecido como o "descritor de implementação do aplicativo da web". Esse arquivo é chamado web.xml e reside no diretório war/WEB-INF/ no WAR. WEB-INF/ e web.xml fazem parte da especificação do servlet.
No diretório war/WEB-INF/, um arquivo chamado web.xml tem o seguinte conteúdo:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<servlet>
<servlet-name>guestbook</servlet-name>
<servlet-class>guestbook.GuestbookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>guestbook</servlet-name>
<url-pattern>/guestbook</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
Esse arquivo web.xml declara um servlet chamado guestbook e o mapeia para o caminho do URL /guestbook. Ele também afirma que sempre que o usuário obtém um caminho de URL que ainda não foi mapeado para um servlet e representa um caminho de diretório dentro do WAR do aplicativo, o servidor deve procurar um arquivo chamado index.html nesse diretório e servi-lo caso o encontre.
O Google App Engine precisa de um arquivo de configuração adicional para descobrir como implementar e executar o aplicativo. Esse arquivo é chamado appengine-web.xml e reside no WEB-INF/ junto com web.xml. Ele inclui o ID registrado do seu aplicativo (o Eclipse cria isso com um ID vazio para que você preencha posteriormente), o número da versão do seu aplicativo e listas de arquivos que devem ser tratados como arquivos estáticos (como imagens e CSS) e arquivos de recursos (como JSPs e dados de outros aplicativos).
No diretório war/WEB-INF/, um arquivo chamado appengine-web.xml tem o seguinte conteúdo:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application></application>
<version>1</version>
</appengine-web-app>
appengine-web.xml é específico ao Google App Engine e não faz parte do padrão servlet. Você pode encontrar arquivos de esquema XML descrevendo o formato desse arquivo no SDK, no diretório appengine-java-sdk/docs/. Consulte Configuração de um aplicativo para obter mais informações sobre esse arquivo.
O SDK do Google App Engine inclui um aplicativo de servidor da web que pode ser usado para testar o seu aplicativo. O servidor simula o ambiente e os serviços do Google App Engine, incluindo restrições ao sandbox, o armazenamento de dados e os serviços.
Se você estiver usando o Eclipse, poderá iniciar o servidor de desenvolvimento dentro do depurador do Eclipse. No menu Run (Executar), selecione Debug As (Depurar como) > Web Application (Aplicativo da web) (caso você não veja essa opção de menu, selecione o menu Window (Janela) > Reset Perspective... (Redefinir perspectiva...), clique em OK e tente o menu Run (Executar) novamente.) Consulte Como usar o Plug-in do Google para o Eclipse para obter detalhes sobre como criar a configuração de depuração.
Se você não estiver usando o Eclipse, consulte Como usar o Apache Ant para obter um script de construção que pode criar o projeto e iniciar o servidor de desenvolvimento. Para iniciar o servidor com esse script de construção, digite o seguinte comando: ant runserver Para parar o servidor, pressione Control-C.
Inicie o servidor e, em seguida, visite o seguinte URL no seu navegador:
O servidor chama o servlet e exibe a mensagem no navegador.
Agora você tem um aplicativo completo do Google App Engine! Você pode implementar esta simples saudação agora mesmo e compartilhá-la com usuários em todo o mundo.
Esse aplicativo exibe uma saudação genérica a todos os usuários. Vamos adicionar um recurso para personalizar a saudação para cada visitante usando as Contas do Google.
Vá para Como usar o serviço de usuários.