Google App Engine (GAE) Hello World

  1. Install the Google Product (more info)
  2. Register for a Google AppEngine Account(more info)
  3. Create a new project and copy the Project Id (e.g. mine is sturdy-mechanic-94316)
    1. if you can’t see it, select your project -> Overview -> Top of page should say “Project ID” ->Copy this id
  4. In Eclipse, right-click in Package Explorer -> New -> Web Application Project (has a blue g+ icon)
  5. Enter project Name: GAE-HelloWorld
  6. Enter package: com.spragucm.gae_helloworld
  7. Un-select “Use Google Web Toolkit” checkbox
  8. Check “Use Google App Engine”
  9. Under the “Identifiers for Google App Engine” section -> Select “Use Api Id” -> Paste the project id from above
  10. Under “Sample Code” -> Select “Generate Project Sample Code”
  11. Select “Finish”

To test the project locally:

  1. Right-click the new project inside of “Package Explorer” -> “Run as” -> select “Run Configurations”
  2. Scroll down to “Web Applications” -> Select “GAE-HelloWorld” -> select “Run”
  3. To see that it is running, open any internet browser -> enter “http://localhost:8888” as the web address ->hit enter
  4. Your application will be shown

To test a deployed project

  1. Right-click the project inside of “Package Explorer” -> “Google” -> “Deploy to App Engine”
  2. Project Name: GAE-HelloWorld
  3. Under “Select the front an backends to deploy -> Select “Frontend”
  4. Select “Launch app in browser after successful deploy”
  5. Select “Deploy”
  6. After everything successfully builds, you can go to (e.g. my app Id was sturdy-mechanic-94316 and the web address was
  7. When you are done, STOP THE SERVER or else http://localhost:8888 will permanently have this app running on it. To stop the server follow the instructions at

That’s it, a hello world that’s up and running 🙂

Digging Deeper

Ok, things are at least working now, so let’s discuss what is going on…

  1. All of this is on the App Engine side, nothing is on Android yet
  2. Your project is running on App Engine. It is available to ANYBODY, on any device.
  3. There is absolutely no authentication (yet)
  4. src -> ->
    1. This is a servlet that simply creates a text page that displays hello world when GAE_HelloWorld is click on the
    2. Indicate that text will be used: resp.setContentType(“text/plain”);
    3. Indicate the message to be printed on the page: resp.getWriter().println(“Hello, world”);
  5. war -> index.html
    1. This is the webpage that is shown at
    2. When a user clicks the GAE_HelloWorld link in the main page they are brought to a simple page that says “Hello, world”. This is accomplished using the following line of html: GAE_HelloWorld
  6. war -> WEB-INF -> web.xml
    1. This file basically describes what servlets are used and what they map to. For example, href = “gae_helloworld” gets clicked so go to the GAE_HelloWorld servlet which is in turn has its actions outlined by the com.spragucm.gae_helloworld.GAE_HelloWorldServlet class
    2. Notice the is listed as index.html which simply means that index.html should be displayed as webpage when users navigate to

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s