目次へ
GAEでsessionを使うにはappengine-web.xmlで設定が必要です |
■■■■appengine-web.xmlの設定■■■■
WEB-INFの中のappengine-web.xmlファイルに、sessions-enabledのタグを追加します。
<?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <application></application> <version>1</version> <sessions-enabled>true</sessions-enabled> ←これを追加 : : |
■■■■セッションにデータを入れるサーブレット■■■■
たとえば、下のプログラムをサーブレットに書くと次のことを実行します。セッションスコープにsessesという名前で、"session-abc"という文字列を入れます。
チェックのためにリクエストスコープにはreqreqという名前で、"request-ABC"を入れます
その後 abc.jsp にfowardします。
HttpSession session = req.getSession(); session.setAttribute("sesses", "session-abc"); req.setAttribute("reqreq", "request-ABC"); req.getRequestDispatcher("abc.jsp").forward(req, resp); |
■■■■セッションのデータを使うJSP■■■■
forward先のabc.jspでは、次のようにしてセッションスコープの sesses とリクエストスコープの reqreq を表示します。fowardした場合には、sessesの"session-abc"という文字列も、reqreqの"request-ABC"という文字列も両方表示されます。
しかし、その後、ブラウザを閉じずに(セッションを保持したまま)、abc.jspを直接リクエストすると、リクエストスコープのデータはなくなっているため、 "session-abc"だけが表示されます。
これでGAE上でセッションが使えたことがわかります。
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>abc.jsp</title> </head> <body> ${sesses}<br/> ${reqreq} </body> </html> |
にほんブログ村
0 件のコメント:
コメントを投稿