色々あって Google App Engine をやることになったので、勉強メモとして残すことにします。
これまで Web 系の勉強はほとんどしたことがなくて、基本的なところから全然わかってないです。
なので、間違いとか勘違いとか恥ずかしい説明とか死んだほうがいいコードとかあっても生暖かい目で蔑んでください。
あと殆どメモ書きなのであんま参考にはならないかもです。
基本
GAE for Java は基本的にサーブレット + JSP らしい。そもそもやったことがないがな……がんばろう。
エディタと Ant でも開発できるようにされてるらしいけど、素直に Eclipse 使ったほうが賢明か。
必要なのは App Engine SDK。
で、 Eclipse 用のプラグイン Google Plugin for Eclipse に App Engine SDK が含まれてるので、こっちをインストールすればいいだけ。
Tomcat とかも入れなくていいっぽい。
サーブレット基本
サーブレット作るときは、 javax.servlet.HttpServlet を継承したクラスを作る。
一つのサーブレットが一つのページに対応するような感じにするのが基本。そうじゃないこともあるっぽいけど。
で、 doGet とか doPost とかの doHOGE メソッドをオーバーライドして、各リクエストに対する処理を記述する。
そのままでは「どのクラスがどのページに対応するのか」がわからないので、サーブレットの定義を web.xml に記述する。
JSTL
JSTL(JSP Standard Tag Library) は、 JSP の中で使われることを想定したカスタムタグのライブラリ、らしい。
使うためには JSP の先頭での宣言が必要。
<%-- JSTL の利用を宣言 --%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
こんな感じ。
色々機能はあるみたいだけど、とりあえず <c:out> タグを使った。このタグは特殊文字をエスケープしてくれる = クロスサイトスクリプティングの防止になるのでなるべく使うべき。 JSP 標準の <%= %> タグでも表示自体はできるが、エスケープはしてくれない。あぶない。
JSP でのリダイレクト
<% response.sendRedirect("/index"); %>
文字化け対策
Web アプリでも当然文字化けは起こる。回避するには、サーブレットフィルタを用いると良い。
サーブレットフィルタとは、サーブレットが呼び出される前にブラウザから送信されたデータを加工するための Javaの機能。
javax.servlet.Filter を実装したクラスを用意して、web.xml で登録する。
詳しくは Web で(ぇ
所感
Web 系ってこう、ちょっとでも知らないことがあるとユーザーを危険に晒すからちょっと怖いんですよね。
でも今の流行というかスタンダードというか、もう「あって当たり前」みたいになってきてるので、ちょっとは知っとかないとヤバイぜよってことで勉強しときます。
最終的にはソシャゲっぽいものも作ってみたい。







