Servlet - セッションAdvertisementセッション管理のメカニズム
HTTP プロトコルではクライアントがリクエストを送り、サーバーがレスポンスを返す。という処理を行った時点でセッションが切断されるため、サーバーはどのリクエストがどのクライアントから来たものなのか、判断することができない。
これを解決するためにサーブレットではセッション管理のメカニズムが用意されている。 サーブレットでのセッション管理の手順
サーブレットでセッション管理を行うための手順を示す。
サンプルコード
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessionSample extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain; charset=Shift_JIS");
//セッションオブジェクトの取得。
HttpSession session = request.getSession(true);
//セッションに保存されているデータの取得。
String mozi = (String)session.getAttribute("string");
if(mozi == null){
mozi = "+";
}else{
mozi = mozi + "+";
}
// セッションにデータを格納する
session.setAttribute("string", mozi);
PrintWriter out = response.getWriter();
out.println("sessionID:" + session.getId());
out.println(mozi);
}
}
このプログラムの流れ
![]() 図:セッションごとに値が保持される。 Advertisement |
ショートカット・634・このカテゴリのトップページに戻る ・634labs UIコレクションギャラリー サイト検索Y!ログール |