Home Java Java Web Programming การพัฒนาโปรแกรมเว็บสำหรับ Google App Engine
Add Site to FavoritesAdd Page to FavoritesMake HomepageShare This PageEmail This PagePrint This PageSave Page as PDF
Back to Top

Designed by:
VPS hosting Joomla Templates
Web hosting services
การพัฒนาโปรแกรมเว็บสำหรับ Google App Engine PDF Print E-mail
Written by Administrator   
Sunday, 20 September 2009 23:53

แบบฝึกหัดนี้จะเป็นการพัฒนาโปรแกรม Web Application ที่รันบน Google App Engine โดยผู้พัฒนาต้องมี account ของ Google Engine และจะรันโปรแกรมบน Google's Infrastructure แบบฝีกหัดนี้จะมีขั้นตอนในการพัฒนาโปรแกรมดังนี

  1. การติดตั้งและเริ่มต้นการใช้งาน Google App Engine
  2. การสร้าง Web Application Project
  3. การพัฒนาโปรแกรม Servlet เพื่อรันบน Google App Engine
  4. การพัฒนาโปรแกรมเพื่อติดต่อกับ Google Account

เราสามารถทดสอบโปรแกรมนี้ได้ที่นี http://thaijavaapp.appspot.com/GoogleTimerServlet

 

ผู้สนใจสามารถ ดาวน์โหลดเอกสารที่เป็นไฟล์ PDF ได้ที่นี่ => BasicGoogle.pdf


โปรเจ็คไฟล์สำหรับ NetBeans และ Sourcecode สามารถดาวน์โหลดได้ที่นี่ => BasicGoogle.zip

 

 

source code สำหรับไฟล์ TimerServlet.java
ackage timer;
 
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 *
 * @author Administrator
 */
public class TimerServlet extends HttpServlet {
 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSSSSS");
        fmt.setTimeZone(new SimpleTimeZone(0, ""));
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet TimerServlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet TimerServlet at " + request.getContextPath() + "</h1>");
        out.println("<p>The time is: " + fmt.format(new Date()) + "</p>");
        out.println("</body>");
        out.println("</html>");
 
        out.close();
    }
 
     @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
 
    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
ot;>     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
 
    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}

 

 

 

source code สำหรับไฟล์ GoogleTimerServlet.java
package timer;
 
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
 
public class GoogleTimerServlet extends HttpServlet {
 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        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 url = request.getRequestURI();
        String msg;
        if (user != null) {
            msg = "<p>Welcome, " + user.getNickname() + "! You can <a href=\"" +
                    userService.createLogoutURL(url) +
                    "\">sign out</a>.</p>";
        } else {
            msg = "<p>Welcome! <a href=\"" + userService.createLoginURL(url) +
                    "\">Sign in or register</a> to customize.</p>";
        }
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet TimerServlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println(msg);
        out.println("<h1>Servlet TimerServlet at " + request.getContextPath() + "</h1>");
        out.println("<p>The time is: " + fmt.format(new Date()) + "</p>");
        out.println("</body>");
        out.println("</html>");
 
        out.close();
    }
 
    
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }

 

 




Powered by jWarlock jwFacebook Comments
Last Updated on Monday, 21 June 2010 22:51
 

Add comment


Security code
Refresh

Thai Java Developers, Powered by Joomla! and designed by SiteGround web hosting