復習しないし、学校に行く日がまちまちになると、忘れてしまう。
最近は学校の先生がうまい具合に私をいじって、能力を鍛えようとしてくれている(・・・・と思っておくw)ので、なんだか楽しい。
セッション登録することで登録した情報を保持することができる。
①セッションオブジェクトの取得
javax.servlet.http.HttpServletRequest
・getsession(boolean create)
・getsession()
②値の登録と取り出し
javax.servlet.http.HttpServletSession
・setAttribute(String name,Object value)
第一引数がキー、第二引数が値。
・getAttribute(String name)
引数にはsetAttributeで設定したキーを指定し、取り出し。
③セッションの破棄
javax.servlet.http.HttpSession
・invalidate()
●サンプルプロジェクト
SessionCounter.java
public class SessionCounter extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=Shift_JIS");//クライアントから送り返されるレスポンスのコンテントタイプを指定。
PrintWriter out = response.getWriter();//HTMLコードを出力するためのストリームを確立
HttpSession session = request.getSession(true);//セッションオブジェクトの取得
Integer intCount = (Integer)session.getAttribute("count");//引数にはsetAttributeで設定したキーを指定し取り出し。
out.println("<html><head>");
out.println("<title>Sessionの利用</title><head>");
out.println("<body><br><br><div align='center'><br>");
if(intCount==null){
out.println("初訪問");
intCount = new Integer(1);
}else{
intCount =new Integer(intCount.intValue()+1);
out.println("今回で"+ intCount + "回目ですね。<br>");
}
out.println("</div></body></html>");
session.setAttribute("count",intCount);
super.doGet(request, response);
}
}
web.xml
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com.xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2,4">
<servlet>
<servlet-name>sessionCounter</servlet-name>
<servlet-class>kenservlet.SessionCounter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sessionCounter</servlet-name>
<url-pattern>/sessioncounter</url-pattern>
</servlet-mapping>
</web-app>
すがすがしいー
いってきます


