■リクエストスコープの有効範囲は1つのリクエストが終わるまでの間です。
■セッションスコープは同じクライアント間が有効範囲です。
■アプリケーションスコープはWebアプリケーション内で有効です。リクエストやセッションが違っても有効です。また、アプリケーションコンテキストと呼ばれます。
■getAttribute(String name)での値はObjectで帰ってくるので、必要に応じてキャストを
行う、
■セッションIDとカウンター
package session;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import sun.net.www.content.text.plain;
public class CounterServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
HttpSession session = request.getSession();//セッションの取得
Integer count = (Integer) session.getAttribute("count");//セッションかたcountの取得
if(count == null)//nullなら0を代入 {
count = new Integer(0);
}
count = new Integer(count.intValue() + 1);//カウントUP
session.setAttribute("count", count);//セッションに格納
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.print("<p>sessionIdは" + session.getId() + "</p>");//セッションIDの取得
pw.print("<p>" + count + "</p>");//カウントの表示
}
}
0 件のコメント:
コメントを投稿