• 締切済み

Cookieへの保存

ログイン認証システムを作成しCookieを利用しようと思うのですが Cookieへデータが保存されません。 ちなみにCookie用に付け加えたソースは ModelBean.javaで // クッキー処理 public int selectDatas(){ int userNo=0; jdbcOpen(); try{ // SQL文生成 query = "SELECT userNo FROM loginUser"; // 実行 ResultSet rs = stmt.executeQuery(query); // 結果取得 if(rs.next()){ this.userNo = rs.getInt("userNo"); } rs.close(); } catch (Exception ex) { ex.printStackTrace ();} jdbcClose(); return userNo; } ControllServlet.javaでは import myPackage.ModelBean; //サーブレット関連のクラス import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //Struts関連のクラス import org.apache.struts.action.Action; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionError; //Java関連のクラス import java.io.IOException; import java.util.ResourceBundle; //Log4j関連のクラス import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; public class ControllerServlet extends Action { // 設定ファイル private static final String APPLICATION_RESOURCE = "res.ApplicationResources"; // リソースの読み込み private static ResourceBundle rb = ResourceBundle.getBundle(APPLICATION_RESOURCE); // Log4jの設定 static Logger logger = Logger.getLogger(ControllerServlet.class); public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException , Exception { Cookie[] cookies = request.getCookies(); Integer userNo = null; if (cookies != null) { for (int i = 0; i < cookies.length; i++) { Cookie cookie = cookies[i]; if (cookie.getName().equals("userNo")) { String value = cookie.getValue(); userNo = Integer.valueOf(value); break; } } } if (userNo == null) { userNo = new Integer(0); } userNo = new Integer(userNo.intValue() + 1); Cookie cookie = new Cookie("userNo", userNo.toString()); //cookie.setMaxAge(0); response.addCookie(cookie); です。どのようにしたら保存されるようになるのでしょうか? よろしくお願いします。

みんなの回答

  • BigBoin
  • ベストアンサー率36% (4/11)
回答No.1

Cookie cookie = new Cookie("userNo", userNo.toString()); //cookie.setMaxAge(0); //サーバの全てのディレクトリでクッキーが可視になるよう設定 cookie.setPath("/"); response.addCookie(cookie); 御質問のソースは要点だけで良いと思います。

関連するQ&A

専門家に質問してみよう