<session-config> <session-timeout>180</session-timeout> </session-config>
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SessionServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String id = "Java"; //(1)セッションオブジェクトが生成されていない場合、 // getSessionメソッドでセッションオブジェクトを生成します。 // セッションオブジェクトがすでに生成されている場合は、 // 既存のセッションオブジェクトを返します。 HttpSession hs1 = req.getSession(); PrintWriter out = res.getWriter(); out.println("<HTML>"); out.println("<BODY>"); //(2)クライアントがセッション管理されているかどうか(はじめて // アクセスしたかどうか)で表示メッセージを変えます。 // セッション管理されていない場合、データidをsetAttribute // メソッドで保存し、"id + Nice to meet you."を表示します。 // セッション管理されている場合は、データidの値をgetAttribute // メソッドで取得し、"Hello! + id"を表示します。 if (hs1.isNew()) { hs1.setAttribute("id", id); out.println(hs1.getAttribute("id") + " Nice to meet you."); } else { out.println("Hello! " + hs1.getAttribute("id")); } out.println("</BODY>"); out.println("</HTML>"); } }
String url = res.encodeURL("./SessionServlet"); out.println("<A HREF=\"" + url + "\">SessionServlet</A>");
<A HREF="./SessionServlet;jsessionid=8692969BBD04A69879B6206276D54D1D"> SessionServlet </A>