O Google Code é oferecido em: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
O Google App Engine fornece diversos serviços úteis com base na infra-estrutura do Google, acessíveis aos aplicativos por meio das bibliotecas fornecidas no SDK. Um desses serviços é o serviço de Usuários, que permite que seu aplicativo integre-se às contas de usuário do Google. Com esse serviço, seus usuários podem usar as contas do Google que já possuem para entrar em seu aplicativo.
Vamos usar o serviço de Usuários para personalizar a saudação deste aplicativo.
Edite src/guestbook/GuestbookServlet.java conforme indicado, de forma a ficar semelhante a:
package guestbook;
import java.io.IOException;
import javax.servlet.http.*;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
public class GuestbookServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, " + user.getNickname());
} else {
resp.sendRedirect(userService.createLoginURL(req.getRequestURI()));
}
}
}
Se você estiver usando o Eclipse e o seu servidor de desenvolvimento estiver sendo executado no depurador, ao salvar as alterações nesse arquivo, o Eclipse compila automaticamente o código novo e, em seguida, tenta inseri-lo no servidor que já está em execução. As alterações feitas às classes, às JSPs, aos arquivos estáticos e ao appengine-web.xml são refletidas imediatamente no servidor em execução sem precisar reiniciar. Se você alterar o web.xml ou outros arquivos de configuração, interrompa e inicie o servidor para ver as alterações.
Se você estiver usando o Ant, interrompa o servidor e recompile o projeto para ver as alterações feitas no código fonte. As alterações nas JSPs e nos arquivos estáticos não exigem a reinicialização do servidor.
Recompile o projeto e reinicie o servidor, se necessário. Para testar o aplicativo, visite o URL do servlet no seu navegador:
Em vez de exibir a mensagem, o servidor solicita um endereço de e-mail. Digite qualquer endereço de e-mail, como alfred@example.com, e clique em "Log In" (Fazer login). O aplicativo exibe uma mensagem, dessa vez com o endereço de e-mail inserido.
O código novo para a classe GuestbookServlet usa a API de usuários para verificar se o usuário fez login com uma conta do Google. Se não fez, o usuário é redirecionado para a tela de login das Contas do Google. userService.createLoginURL(...) retorna o URL da tela de login. O recurso de login sabe que deve redirecionar o usuário ao aplicativo por meio do URL passado para createLoginURL(...), que, nesse caso, é o URL da página atual.
O servidor de desenvolvimento sabe como simular o recurso de login das Contas do Google. Quando executado do seu computador local, o redirecionamento vai para a página onde é possível digitar qualquer endereço de e-mail para simular o login em uma conta. Quando executado no Google App Engine, o redirecionamento vai para a tela real das Contas do Google.
Agora, você está conectado no seu aplicativo de teste. A mensagem será exibida novamente ao recarregar a página.
Para permitir que o usuário saia, forneça um link para a tela de saída, gerado pelo método createLogoutURL(). Observe que um link de saída faz com que o usuário saia de todos os serviços do Google.
Agora que sabemos identificar o usuário, podemos convidá-lo para postar mensagens no livro de visitas. Vamos projetar uma interface de usuário para esse aplicativo usando as JSPs (JavaServer Pages).
Vá para Uso das JSPs.