Fork me on GitHub

Programming Design Notes

使用 Java 開發 Facebook Web App - 2

| Comments

上一回: 使用 Java 開發 Facebook Web App - 1

上回提到使用 Filter 去將所有進來的 Request 也能夠取得用戶 ID 才可以顯示內容,拿取不到用戶 ID 會 Redirect 到 Facebook 的登入頁面,今次先試試在 Facebook 顯示 Hello World 字樣。

新增一個 Servlet。
IndexServlet:
package com.blogspot.lawpronotes.servlet;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class IndexServlet
*/
public class IndexServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public IndexServlet() {
super();
}

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

Map<String, Object> model = new HashMap<String, Object>();
model.put("message", "Hello World");
request.setAttribute("model", model);

// Forward to JSP file to display message
RequestDispatcher dispatcher = request
.getRequestDispatcher("/WEB-INF/pages/index.jsp");
dispatcher.forward(request, response);
}
}

這個 Servlet 只作為控制器的角色,顯示方面交由 JSP 負責。
不懂得 MVC 架構可參考這篇: 最簡單的方式實現 MVC (Servlet + JSP)

之後在 /WEB-INF 內新增一個 pages 目錄並建立 index.jsp 。
index.jsp:
<?xml version="1.0" encoding="UTF-8"?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Index</title>
</head>
<body>
<h1>${ model['message'] }</h1>
</body>
</html>

記得要在 html tag 加上 xmlns:fb=”http://www.facebook.com/2008/fbml”
遲點使用 XFBML 時要用到。

打開 http://apps.facebook.com/#your_canvas_name#/ 會見到 Hello World 字樣。



下一回: 使用 Java 開發 Facebook Web App - 3

相關書籍: Facebook Cookbook: Building Applications to Grow Your Facebook EmpireFBML Essentials: Facebook Markup Language FundamentalsFacebook Cookbook: Building Applications to Grow Your Facebook Empire