• 締切済み

java サーブレット セッションの使用方法

たびたび質問してすいません eclipse tomcatを使ったクイズの問題ですが1問目から回答を保持したまま2問目に移動する方法が分かりません、 作りかけが下にあります,これだと1問目から3問目に2問目を飛ばしていってしまいます 条件 使用できるのはPage1.java・Page2java・web.xmlのみ 表示したいページはこんな感じです Page1の問題 データ通信の通信速度や通信手順の取り決めは? ○ Aプログラム ○ Bプロトコル ○ Cプロファイル ○ Dプロメテウス Page2へ進む Page2の問題 1MBを1KBに換算すると? ○ A1024 ○ B1022 ○ C1028 ○ D1026 Page3へ進む Page3 問題1は正解/不正解です 問題2正解/不正解です 問題1 package servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class UseSession1 extends HttpServlet{ String html; String html1="<!doctype html><html lang=ja><head><meta charset=utf-8><title>UseSession1</title></head></body>"; String html2="<form action=UseSession1 method=post><table><tr><td><input type=radio name=pp value=Aプログラム>Aプログラム<br>"+ "<input type=radio name=pp value=Bプロトコル>Bプロトコル<br>"+ "<input type=radio name=pp value=Cプロファイル>Cプロファイル<br>"+ "<input type=radio name=pp value=Dプロメテウス>Dプロメテウス</td></tr></table><br>"+ "<input type=submit value =送信><input type=reset value=リセット></form></body></html>"; public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); html=html1+html2; out.println(html); out.close(); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ request.setCharacterEncoding("UTF-8"); HttpSession session =request.getSession(); session.setAttribute("pp",request.getParameter("pp")); ServletContext context=getServletConfig().getServletContext(); RequestDispatcher dispatcher =context.getRequestDispatcher("/UseSession3"); dispatcher.forward(request,response); } } 問題2 package servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class UseSession2 extends HttpServlet { String html; String html1="<!doctype html><html lang=ja><head><meta charset=utf-8><title>UseSession1</title></head></body>"; String html2="<form action=UseSession2 method=post><table><tr><td><input type=radio name=oo value=A1024>A1024<br>"+ "<input type=radio name=oo value=B1022>B1022<br>"+ "<input type=radio name=oo value=C1028>C1028<br>"+ "<input type=radio name=oo value=D1026>D1026</td></tr></table><br>"+ "<input type=submit value =送信><input type=reset value=リセット></form></body></html>"; public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); html=html1+html2; out.println(html); out.close(); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ request.setCharacterEncoding("UTF-8"); HttpSession session =request.getSession(); session.setAttribute("oo",request.getParameter("oo")); ServletContext context=getServletConfig().getServletContext(); RequestDispatcher dispatcher =context.getRequestDispatcher("/UseSession3"); dispatcher.forward(request,response); } }

みんなの回答

  • mintia007
  • ベストアンサー率59% (16/27)
回答No.2

いろいろと質問されているようですけど解決はされているんでしょうか? 解決していて理解されているのなら前の質問は締め切って欲しいです。 (回答する側もどこまで理解しているか解るので) セッションを使用しているようですが、セッションについて理解されているでしょうか? (セッションについて理解していれば質問していませんね) ネットで検索してみると色々とサンプルとか沢山出てきます。 ・・・と書いてみましたが、恐らく補足すら書いてもらえないかもですね。

回答No.1

背伸びをされてませんか? まずは、HTMLだけ書いてテストしてみるとか、とりあえずJavaScriptを使って書いてみるとかしてみたほうが良いかと思いますよ。

関連するQ&A