google app engine developer - day1

28
GAE Developer - Day1 Simon @ MiCloud 2014Q1

Upload: simon-su

Post on 17-May-2015

604 views

Category:

Technology


4 download

DESCRIPTION

Start to use Java App Engine - Install & deploy - First code, make a simple UI - User login integrate

TRANSCRIPT

Page 1: Google App Engine Developer - Day1

GAE Developer - Day1Simon @ MiCloud2014Q1

Page 2: Google App Engine Developer - Day1

● https://developers.google.com/eclipse/docs/getting_started?hl=zh-tw

Install GAE Eclipse Plugin

Page 3: Google App Engine Developer - Day1

Install GAE Eclipse Plugin ● Eclipse 4.3 (Kepler)

○ https://dl.google.com/eclipse/plugin/4.3● Eclipse 3.8/4.2 (Juno)

○ https://dl.google.com/eclipse/plugin/4.2● Eclipse 3.7 (Indigo)

○ https://dl.google.com/eclipse/plugin/3.7

Page 4: Google App Engine Developer - Day1

Install GAE Eclipse Plugin

Page 5: Google App Engine Developer - Day1

First GAE App

● Create GAE web project● Review project & Edit Servlet● Deploy to GAE

Page 6: Google App Engine Developer - Day1

Create GAE Web Project

Page 7: Google App Engine Developer - Day1

Going to Project Detail

Java source code

Web source code

GAE setting

Servlet setting

Page 8: Google App Engine Developer - Day1

Local Develop Server

Page 9: Google App Engine Developer - Day1

Local Server Supports● Jetty Servlet container● Admin page● Datastore - HDR● MySQL connect

Page 10: Google App Engine Developer - Day1

Local Admin Console

Page 11: Google App Engine Developer - Day1

Deploy GAE to Cloud

Page 12: Google App Engine Developer - Day1

Getting Start….

Page 13: Google App Engine Developer - Day1

GAE預設值...

● Stateless - no session enabled● Without app stat page● Have JSP standard UserPrinciple object for

authentication● Cannot DB connection● JSTL support

Page 14: Google App Engine Developer - Day1

建立簡單的UI - https://jetstrap.com

Page 15: Google App Engine Developer - Day1

整合到專案

Page 16: Google App Engine Developer - Day1

Enable Session...

Page 17: Google App Engine Developer - Day1

基本設定 - Enable Session

Page 18: Google App Engine Developer - Day1

Enable App State...

Page 19: Google App Engine Developer - Day1

App Stats Servlet<!-- direct /appstats requests to built-in appstats tool --><servlet> <servlet-name>appstats</servlet-name> <servlet-class>com.google.appengine.tools.appstats.AppstatsServlet</servlet-class></servlet><servlet-mapping> <servlet-name>appstats</servlet-name> <url-pattern>/appstats/*</url-pattern></servlet-mapping><!-- appstats to record statistics/metrics for each request --><filter> <filter-name>appstats</filter-name> <filter-class>com.google.appengine.tools.appstats.AppstatsFilter</filter-class> </filter><filter-mapping> <filter-name>appstats</filter-name> <url-pattern>/*</url-pattern></filter-mapping>

Page 20: Google App Engine Developer - Day1

http://localhost:8888/appstats/stats

Page 21: Google App Engine Developer - Day1

Use User Service….

Page 22: Google App Engine Developer - Day1

User Service

CallbackPage

ResultPage

extends: AbstractAppEngineAuthorizationCodeServlet

extends: AbstractAppEngineAuthorizationCodeCallbackServlet

G

1

2

34

Page 23: Google App Engine Developer - Day1

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ page import="java.util.List" %>

<%@ page import="com.google.appengine.api.users.User" %>

<%@ page import="com.google.appengine.api.users.UserService" %>

<%@ page import="com.google.appengine.api.users.UserServiceFactory" %>

<%

UserService userService = UserServiceFactory.getUserService();

User user = userService.getCurrentUser();

if (user != null) {

pageContext.setAttribute("user", user);

%>

<a href="<%= userService.createLogoutURL(request.getRequestURI()) %>">sign out</a>.)</p>

<a href="<%= userService.createLoginURL(request.getRequestURI()) %>">Sign in</a>

整合User Service

Page 24: Google App Engine Developer - Day1

Others...

Page 25: Google App Engine Developer - Day1

● 預設Datastore: com.google.api.client.extensions.appengine.auth.oauth2.AppEngineCredentialStore

User service default store

Page 26: Google App Engine Developer - Day1

取得App Engine Id

import com.google.apphosting.api.ApiProxy;ApiProxy.getCurrentEnvironment().getAppId();

Page 27: Google App Engine Developer - Day1

Team Work - Invite Cooperate User

Page 28: Google App Engine Developer - Day1

Q&AEND