• 締切済み

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); です。どのようにしたら保存されるようになるのでしょうか? よろしくお願いします。

noname#124960
noname#124960
  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

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

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

関連するQ&A

  • ActionForm form にnullが入ってくる原因

    import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public ActionForward execute( ActionMapping map , ActionForm form , HttpServletRequest request , HttpServletResponse response ) throws ServletException, IOException, ClassNotFoundException, SQLException { という記述をして このソースで落ちる原因を調べたら、ActionForm form の "form" でnullが入ってきていました。 なにか定義し忘れているのでしょうか?

    • ベストアンサー
    • Java
  • import について

    Eclipseで開発しています。 以下2点がImportでエラーになります。 import java.util.* import java.io.*; 以下はImport可です。 import java.lang.reflect.*; import javax.servlet.http.*; import org.apache.struts.action.*; import java.util.*; ライブラリーが足らないのかと思うのですが、よくわかりません ご指導願います。

    • ベストアンサー
    • Java
  • Servletでcsvファイル読込

    Servletからcsvファイルを読込む処理を作成しています。 しかし、FileNotFoundExceptionが発生してファイルを読込めません。 下記のように記述した場合、csvファイルはどこに置けばよいのでしょうか? いろいろファイルの置き場所を変えてはやってみましたがダメでした。 package action; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class MemberEntryAction extends Action{ public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { try { // 入力ストリームを作成。 FileReader fr = new FileReader("a.csv"); BufferedReader br = new BufferedReader(fr); // 読込みループ。 String line; // 読み込まれた1行。 while( (line = br.readLine()) != null ) { System.out.println(line); } // 入力・出力ストリームを閉じる。 br.close(); fr.close(); } catch ( FileNotFoundException e ) { System.out.println("FileNotFound!"); } return mapping.findForward("memberMenu"); } }

  • サーブレットの実行について

    はじめまして。迷い猫です。 Javaを始めて、まだ2週間の初心者です。 これから、Javaを使って開発をしていこうと猛勉強中です。 DBを使った処理で、コンパイルは通るのですが、実行をするとエラーが出てしまいます。 JDBCの設定かなと思い、調べてみたのですがわからないため、ここに質問をさせていただきました。 エラー内容の詳細ですが、 ********** START exception javax.servlet.ServletException: サーブレットの実行により例外を投げました filters.SetCharacterEncodingFilter.doFilter(Unknown Source) root cause java.lang.NoSuchMethodError: study.struts.model.biz.LogonAuth.authentication(Ljava/lang/String;Ljava/lang/String;)V study.struts.action.LogonAction.execute(Unknown Source) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) javax.servlet.http.HttpServlet.service(HttpServlet.java:763) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) filters.SetCharacterEncodingFilter.doFilter(Unknown Source) ********** END 長くなって申し訳ありませんが、わかる方いらっしゃいましたら、どうかご教授宜しくお願い致します。 開発環境(クライアント) ・WindowsXP ・j2sdk1.4.2_02 ・Tomcat5 ・Struts1.1

    • ベストアンサー
    • Java
  • JavaMail関係でエラーが出ます

    JavaMailを実装したクラスをnewすると以下の様なエラーとなって先に進めません。 java.lang.NoClassDefFoundError: javax/mail/internet/AddressException jp.amsc.tools.businessLogic.JobRequestLogic.<init>(JobRequestLogic.java:47) jp.amsc.tools.action.JobRequestAction.execute(JobRequestAction.java:24) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) -Javaソース- public class SendMail { // コンストラクタ public SendMail() { }     ・     ・ -New しているコード this.mailer = new SendMail(); 調べてみると、newしている段階でエラーに落ちていて肝心のコンストラクタにまで到達していません。 クラスパスもきちんと設定しているのですが、どうしてもここで止まってしまいます。 どなたか解決策をご存知の方、ご教示願います。

    • ベストアンサー
    • Java
  • list<クラス名> とは何でしょうか?

    JAVA初心者のものです。 新規プロジェクトに向けてJAVAの習得に励んでおり、現在は「プロになるためのWeb技術入門」という本でフレームワークについて勉強しています。 ところでその本の中で次のコードがありますが、ここで List<ProductItem> は何を意味するものでしょうか? ご存知の方は教えてください。 なお、ProductItem は別の箇所で定義されたクラス名です。 public class ItemListShowAction extends Action { /* (non-Javadoc) * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ProductLogic productLogic = new IbatisProductLogic(); List<ProductItem> productList = productLogic.getProductList(); request.setAttribute("productList", productList); return mapping.findForward("show"); } }

    • ベストアンサー
    • Java
  • localhostでページ表示されないのですが、、

    いつもお世話になっております。 javaを勉強し始めて2週間になります。独学なので、解決しないことばかり・・・。助けてください。 Tomcatをつかって、javaで作ったページをローカルで表示させたいのですが、うまくいきません。以下はそのエラー内容です。ページに何か足りないのでしょうか?? 例外 org.apache.jasper.JasperException: Exception in JSP: /pages/ONUM010/ONUM010010.jsp:30 27: <script language="JavaScript" src="./js/Common.js"></script> 28: 29: <body class="body"> 30: <html:form action="/ONUM010"> 31: 32: <table border="0" cellpadding="3" cellspacing="1" width="760" class="common_header"> 33: <tr> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170) 原因 javax.servlet.ServletException: アクション /ONUM010 のフォームbean ONUM010F010 に対する定義が見つかりません org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774) org.apache.jsp.pages.ONUM010.ONUM010010_jsp._jspService(ONUM010010_jsp.java:426) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170) 原因 javax.servlet.jsp.JspException: アクション /ONUM010 のフォームbean ONUM010F010 に対する定義が見つかりません org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:767) org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:443) org.apache.jsp.pages.ONUM010.ONUM010010_jsp._jspService(ONUM010010_jsp.java:120) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170)

    • ベストアンサー
    • Java
  • サーブレットをeclipseで作りたい

    ですが //////////////////////////////////////// package member; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; ・・・・・・・・・・・・・・・・・・・・・・・ //////////////////////////////////////// をeclipseのエディタに書くと import javax.servlet.*; と import javax.servlet.http.*; の javax.servlet の下に赤の波線がつきます。 どうも javax.servlet.*; と javax.servlet.http.*; を認識できないようです。 これらを認識できるようにするにはどうしたらいいのでしょうか?

    • ベストアンサー
    • Java
  • struts1.3.10でエラー

    宜しくお願いします。 環境 Win7 eclipse 3.6.1 struts 1.3.10 tomcat 6.0 とあるサイトにあるサンプル(自分とは違うバージョンの環境)を、自分の環境において、そこからstrutsを勉強していこうとしてます。 最初の呼び出し画面index.jspは表示されますが、そこから次の呼び出し先(strutsのAction継承サーブレット)で HTTPステータス 404 - サーブレット Action が利用できません と出ます。 原因を探ろうとeclipseのコンソールを見たところ、 以下のようにエラーが出ていました。 -----------------------------------------------------------------  ・  ・  ・ 情報: 設定記述子 HLgame.xml を配備します 2011/10/31 15:02:35 org.apache.struts.action.ActionServlet initChain 情報: Loading chain catalog from jar:file:/D:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/HLgame/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-config.xml 2011/10/31 15:02:35 org.apache.struts.util.PropertyMessageResources loadLocale 警告: Resource org/apache/struts/action/ActionResources_ja_JP.properties Not Found. 2011/10/31 15:02:35 org.apache.catalina.core.ApplicationContext log 致命的: Action: null java.lang.NullPointerException at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(XMLEntityScanner.java:1414) at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.skipSeparator(XMLDTDScannerImpl.java:2057)  ・  ・  ・ 2011/10/31 15:02:35 org.apache.catalina.core.ApplicationContext log 情報: サーブレット Action を利用不可能にマークします 2011/10/31 15:02:35 org.apache.catalina.core.StandardContext loadOnStartup 致命的: サーブレット /HLgame がload()例外を投げました javax.servlet.UnavailableException at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:880) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)  ・  ・  ・ ------------------------------------------------------------- 上記のうち、一番最初の致命的の箇所、 警告: Resource org/apache/struts/action/ActionResources_ja_JP.properties Not Found. について調べてみたのですが、 /HLgame/WebContent/WEB-INF/lib/以下に置いた、struts-core-1.3.10.jarを、 解凍してみたところ、 struts-core-1.3.10\org\apache\struts\actionフォルダがあり、そこに、 ActionResources_ja.propertiesはあったのですが、 ActionResources_ja_JP.propertiesはありませんでした。 struts-config.xmlの <message-resources parameter="・・・"/> は・・・の部分をいろいろ書き換えて試したものの、いずれも、エラー内容は上記のままでした。 他にどこを調べてよいかわからず困っています。 ActionResources_ja_JP.properties についてググってみましたが、参考になるものはありませんでした。 対処方法を考えていただけるとありがたく、 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • コンパイルエラー

    過去ログも参考にしたのですが、解決しませんでしたので、よろしくお願いします!! コンパイルすると、下のエラーが出てしまいます。 どこかへのクラスパスが足りないのかな?とは思うのですが、一体どこへ?(T△T) パッケージ com.sun.odi.tree は存在しません。 import com.sun.xml.tree.*; --code-- import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import org.w3c.dom.*; import com.sun.xml.tree.*; -------- [Win2k,tomcat4.0.6,J2sdk1.4.1]です。

専門家に質問してみよう