GAE

import java.io.IOException;
import java.util.Iterator;

import javax.servlet.http.*;

import twitter4j.Paging;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;

@SuppressWarnings("serial")
public class TwitterGAE2Servlet extends HttpServlet {
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws IOException {
		resp.setContentType("text/plain");
		resp.getWriter().println("Hello, world");
		resp.setCharacterEncoding("UTF-8");

		Twitter twitter = new TwitterFactory().getInstance("ユーザ名","パスワード");
		Paging page = new Paging(1);
		try {
			Iterator<Status> iterator = twitter.getFriendsTimeline(page).iterator();
			while (iterator.hasNext()) {
				Status status = (Status) iterator.next();
				resp.getWriter().println(status.getText());
			}
		} catch (TwitterException e) {
			// TODO 自動生成された catch ブロック
			e.printStackTrace();
		}

	}
}

ローカルで実行すると発言が全部"??????"と表示されてしまう。
http://sites.google.com/site/bot2uku/2009-08-15_j1
ここで説明されている通り

resp.setCharacterEncoding("UTF-8");

文字コード指定しているんだけどなー。
追記:直った。なんでかさっぱりですが

resp.setContentType("text/plain charset=UTF-8");
req.setCharacterEncoding("UTF-8");

eclipse再起動してもう一度実行したら正しく表示された


"TwitterGAE"という名前のプロジェクトがでてエラーが全く消えなくて新しく"TwitterGAE2"ってプロジェクト作って実行したら初めの画面に

Hello App Engine!

Available Servlets:
TwitterGAE

って出てきてこれにも今いち何が原因なのかわからない。TwitterGAEプロジェクト消してEclipse再起動したら

Hello App Engine!

Available Servlets:
TwitterGAE2

って直ったけど。