2013-08-06 208 views
0
  package clock; 

      import java.io.IOException; 
      import java.text.SimpleDateFormat; 
      import java.util.Date; 
      import java.util.SimpleTimeZone; 
      import javax.servlet.RequestDispatcher; 
      import javax.servlet.ServletException; 
      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; 

      @SuppressWarnings("serial") 
      public class ClockServlet extends HttpServlet { 
       public void doGet(HttpServletRequest req, 
            HttpServletResponse resp) 
        throws IOException, ServletException { 
        SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSSSSS"); 
        fmt.setTimeZone(new SimpleTimeZone(0, "")); 

        UserService userService = UserServiceFactory.getUserService(); 
        User user = userService.getCurrentUser(); 
        String loginUrl = userService.createLoginURL("/"); 
        String logoutUrl = userService.createLogoutURL("/"); 

        req.setAttribute("user", user); 
        req.setAttribute("loginUrl", loginUrl); 
        req.setAttribute("logoutUrl", logoutUrl); 
        req.setAttribute("currentTime", fmt.format(new Date())); 

        resp.setContentType("text/html"); 

        RequestDispatcher jsp = req.getRequestDispatcher("/WEB-INF/home.jsp"); 
        jsp.forward(req, resp); 
       } 
      } 



      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
      <html> 
       <head> 
       <title>The Time Is...</title> 
       </head> 
       <body> 
       <c:choose> 
        <c:when test="${user != null}"> 
        <p> 
         Welcome, ${user.email}! 
         You can <a href="${logoutUrl}">sign out</a>. 
        </p> 
        </c:when> 
        <c:otherwise> 
        <p> 
         Welcome! 
         <a href="${loginUrl}">Sign in or register</a> to customize. 
        </p> 
        </c:otherwise> 
       </c:choose> 
       <p>The time is: ${currentTime}</p> 
       </body> 
      </html> 

由于我在登录到我的Gmail时,我希望看到欢迎,但它会登录并注册,即使我登录到Gmail。我的代码可能存在一些问题吗?Google用户帐户

回答

0

应用程序没有自动访问您的Gmail帐户,也不会自动登录到您的应用程序,如果你登录到你的Gmail。这非常危险 - 如果用户访问了他们的网址,所有GAE应用程序都可以收集用户的电子邮件。

用户仍然需要登录到您的应用,例如,通过联合登录。