2017-09-08 1 views
-1

J'ai deux servlets 1) qz.java et 2) logout.java Je veux recevoir des emails de qz pour se déconnecter, ceci est mon réel problème. Lorsque j'essaie d'obtenir des emails de la page de connexion à la page qz par session cela fonctionne très bien, mais quand je veux envoyer un e-mail de qz.java à logout.java, il obtient la valeur nulle Puis j'essaie différemment, j'ajoute et quand je soumets ce code à la déconnexion j'obtiens l'email par Chaîne s = request.getPrameter ("xyz"); mais s renvoie une valeur nulle. ce code est de l'application de quiz s'il vous plaît donnez-moi une réponse appropriée.Obtenir une valeur nulle pendant que j'appelle une servlet de l'autre, en utilisant à la fois la session et le formulaire

Voici mon code ... après doGet de qz.ja

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    //response.getWriter().append("Served at: ").append(request.getContextPath()); 
    response.setContentType("text/html"); 
    HttpSession session=request.getSession(); 
    String val=(String) session.getAttribute("user1"); 
    String val1=(String) session.getAttribute("email"); 

    session.setAttribute("em", val1); 

    PrintWriter pr=response.getWriter(); 

    String a="abcdefg"; 

    if(val==null) { 
     response.sendRedirect("login.html"); 
    }else { 

     //pr.println(""); 
     RequestDispatcher rd=request.getRequestDispatcher("./timer"); 
     rd.include(request, response); 

     pr.println("<!DOCTYPE html>\r\n" + 
       "<html>\r\n" + 
       "<head>\r\n" + 
       " <title></title>\r\n" + 
       " <!-- Latest compiled and minified CSS -->\r\n" + 
       "<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\r\n" + 
       "\r\n" + 
       "<!-- jQuery library -->\r\n" + 
       "<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js\"></script>\r\n" + 
       "\r\n" + 
       "<!-- Latest compiled JavaScript -->\r\n" + 
       "<script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\r\n" + 
       "<script type=\"text/javascript\">\r\n" + 
       "var idleTime = 0;\r\n" + 
       "$(document).ready(function() {\r\n" + 
       " //Increment the idle time counter every minute.\r\n" + 
       " var idleInterval = setInterval(timerIncrement, 600); \r\n" + 
       "\r\n" + 
       " //Zero the idle timer on mouse movement.\r\n" + 
       " $(this).mousemove(function (e) {\r\n" + 
       "  idleTime = 0;\r\n" + 
       " });\r\n" + 
       " $(this).keypress(function (e) {\r\n" + 
       "  idleTime = 0;\r\n" + 
       " });\r\n" + 
       "});\r\n" + 
       "\r\n" + 
       "function timerIncrement() {\r\n" + 
       " idleTime = idleTime + 1;\r\n" + 
       " if (idleTime > 6) { \r\n" + 
       "  window.location.href=\"login.html\";\r\n" + 
       " }\r\n" + 
       "}\r\n" + 
       "</script>"+ 

       "</head>\r\n" + 
       "<body>\r\n" + 
       "<div id=\"u\" name=\"usern\">\r\n" + 
       "\r\n" + "Welcome :"+val+ 
       " </div>"+ 


       "<form action=\"logout\" id=\"logsub\">\r\n" + 

       "<div class=\"container\">\r\n" + "<div name=\"email\" value=\"[email protected]\">\r\n" + 
         "   \r\n" + 
         "</div>\r\n" + 
         ""+ 
       "<label id=\"e\" name=\"abc\" value=\"abc\"> abc : </label>\r\n" + 


       " <div class=\"row\">\r\n" + 
       "  <!-- Carousel -->\r\n" + 
       "  <div id=\"carousel-example-generic\" class=\"carousel slide\">\r\n" + 
       "   <!-- Indicators -->\r\n" + 
       "   \r\n" + 
       "   <!-- Wrapper for slides -->\r\n" + 
       "   <div class=\"carousel-inner\">\r\n" + 
       "    <div class=\"item active\">\r\n" + 
       "     <!img src=\"http://unsplash.s3.amazonaws.com/batch%209/barcelona-boardwalk.jpg\" alt=\"First slide\">\r\n" + 
       "     <!-- Static Header -->\r\n" + 
       "     <div class=\"header-text hidden-xs\">\r\n" + 
       "      <div class=\"col-md-12 text-center\">\r\n" + 
       "       <div class=\"container\">\r\n" + 
       "<div class=\"col-sm-6\" style=\"margin-left:250px;margin-top:150px\">\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "<div style=\"border:2px solid black;padding:10px;margin-top:20px\">\r\n" + 
       "    <h4 >What is 1+1 ?</h4>\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "    \r\n" + 
       "    \r\n" + 
       "\r\n" + 
       "     \r\n" + 
       "      \r\n" + 
       "      <input type=\"radio\" name=\"ans1\" value=\"1\" >A : 1\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "      <input type=\"radio\" name=\"ans1\" value=\"2\" >B : 2\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "      <input type=\"radio\" name=\"ans1\" value=\"4\" >C : 4\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "     \r\n" + 
       "     \r\n" + 
       "      \r\n" + 
       "      <input type=\"radio\" name=\"ans1\" value=\"3\" >D : 3\r\n" + 
       "     <br>\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "      \r\n" + 
       "      \r\n" + 
       "     \r\n" + 
       "   \r\n" + 
       "    \r\n" + 
       "</div>\r\n" + 
       "  \r\n" + 
       "  </div>  \r\n" + 
       "</div>\r\n" + 
       "\r\n" + 
       "      </div>\r\n" + 
       "     </div><!-- /header-text -->\r\n" + 
       "    </div>\r\n" + 
       "    <div class=\"item\">\r\n" + 
       "     <!img src=\"http://unsplash.s3.amazonaws.com/batch%209/barcelona-boardwalk.jpg\" alt=\"Second slide\">\r\n" + 
       "     <!-- Static Header -->\r\n" + 
       "     <div class=\"header-text hidden-xs\">\r\n" + 
       "      <div class=\"col-md-12 text-center\">\r\n" + 
       "       <div class=\"container\">\r\n" + 
       "<div class=\"col-sm-6\" style=\"margin-left:250px;margin-top:150px\">\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "<div style=\"border:2px solid black;padding:10px;margin-top:20px\">\r\n" + 
       "    <h4 >What is 4/2 ?</h4>\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "    \r\n" + 
       "    \r\n" + 
       "\r\n" + 
       "     \r\n" + 
       "      \r\n" + 
       "      <input type=\"radio\" name=\"ans2\" value=\"3\" >A : 3\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "      <input type=\"radio\" name=\"ans2\" value=\"5\" >B : 5\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "      <input type=\"radio\" name=\"ans2\" value=\"2\" >C : 2\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "     \r\n" + 
       "     \r\n" + 
       "      \r\n" + 
       "      <input type=\"radio\" name=\"ans2\" value=\"6\" >D : 6\r\n" + 
       "     <br>\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "      \r\n" + 
       "      \r\n" + 
       "     \r\n" + 
       "   \r\n" + 
       "    \r\n" + 
       "</div>\r\n" + 
       "  \r\n" + 
       "  </div>  \r\n" + 
       "</div>\r\n" + 
       "\r\n" + 
       "      </div>\r\n" + 
       "     </div><!-- /header-text -->\r\n" + 
       "    </div>\r\n" + 
       "\r\n" + 
       "   <div class=\"item\">\r\n" + 
       "   <!img src=\"http://unsplash.s3.amazonaws.com/batch%209/barcelona-boardwalk.jpg\" alt=\"Second slide\">\r\n" + 
       "   <!-- Static Header -->\r\n" + 
       "     <div class=\"header-text hidden-xs\">\r\n" + 
       "      <div class=\"col-md-12 text-center\">\r\n" + 
       "       <div class=\"container\">\r\n" + 
       "<div class=\"col-sm-6\" style=\"margin-left:250px;margin-top:150px\">\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "<div style=\"border:2px solid black;padding:10px;margin-top:20px\">\r\n" + 
       "    <h4 >What is 5*2*1 ?</h4>\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "    \r\n" + 
       "    \r\n" + 
       "\r\n" + 
       "     \r\n" + 
       "      \r\n" + 
       "      <input type=\"radio\" name=\"ans3\" value=\"11\" >A : 11\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "   <input type=\"radio\" name=\"ans3\" value=\"3\" >B : 3\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "   <input type=\"radio\" name=\"ans3\" value=\"2\" >C : 2\r\n" + 
       "\r\n" + 
       "     <br>\r\n" + 
       "   \r\n" + 
       "           \r\n" + 
       "      <input type=\"radio\" name=\"ans3\" value=\"10\" >D : 10\r\n" + 
       "     <br>\r\n" + 
       "     <br>\r\n" + 
       "\r\n" + 
       "      \r\n" + 
       "     \r\n" + 
       "    \r\n" + 
       "</div>\r\n" + 
       "  \r\n" + 
       "  </div>  \r\n" + 
       "</div>\r\n" + 
       "\r\n" + 
       "      </div>\r\n" + 
       "     </div><!-- /header-text -->\r\n" + 
       "   </div>\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "    <div class=\"item\">\r\n" + 
       "     <!img src=\"http://unsplash.s3.amazonaws.com/batch%209/barcelona-boardwalk.jpg\" alt=\"Third slide\">\r\n" + 
       "     <!-- Static Header -->\r\n" + 
       "     <div class=\"header-text hidden-xs\">\r\n" + 
       "      <div class=\"col-md-12 text-center\">\r\n" + 
       "       <div class=\"container\">\r\n" + 
       "<div class=\"col-sm-6\" style=\"margin-left:250px;margin-top:150px\">\r\n" + 
       "\r\n" + 
       "\r\n" + 
       "<div style=\"border:2px solid black;padding:10px;margin-top:20px\">\r\n" + 
       "   \r\n" + 
       "\r\n" + 
       "\r\n" + 
       "    \r\n" + 
       "    \r\n" + 
       "\r\n" + 
       "     \r\n" + 
       "      \r\n" + 
       "      \r\n" + 
       "\r\n" + 
       "<label id=\"e\" name=\"email\"> Mail ID :"+val1+" </label>"+ 
       "      <input type=\"submit\" name=\"submit1\" value=\"submit\" class=\"btn btn-primary\">\r\n" + 
       "      \r\n" + 
       "     \r\n" + 
       "   \r\n" + 
       "    \r\n" + 
       "</div>\r\n" + 
       "  \r\n" + 
       "  </div>  \r\n" + 
       "</div>\r\n" + 
       "\r\n" + 
       "      </div>\r\n" + 
       "     </div><!-- /header-text -->\r\n" + 
       "    </div>\r\n" + 
       "   </div>\r\n" + 
       "   <!-- Controls -->\r\n" + 
       "   <a class=\"left carousel-control\" href=\"#carousel-example-generic\" data-slide=\"prev\">\r\n" + 
       "    <span class=\"glyphicon glyphicon-chevron-left\"></span>\r\n" + 
       "   </a>\r\n" + 
       "   <a class=\"right carousel-control\" href=\"#carousel-example-generic\" data-slide=\"next\">\r\n" + 
       "    <span class=\"glyphicon glyphicon-chevron-right\"></span>\r\n" + 
       "   </a>\r\n" + 
       "  </div><!-- /carousel -->\r\n" + 
       " </div>\r\n" + 
       "</div>\r\n" + 
       "\r\n" + 
       "</form>\r\n" + 
       "\r\n" + 
       "</body>\r\n" + 
       "</html>"); 


     } 


} 

/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    // 
      //doGet(request, response); 

} 

2) logout.java

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    //HttpSession session=request.getSession(); 
    //session.invalidate(); 
    response.setContentType("text/html"); 
    HttpSession session=request.getSession(); 

    //String s=(String) ses.getAttribute("email"); 
    PrintWriter pr1 = response.getWriter(); 
    String ans1=request.getParameter("ans1"); 
    String ans2=request.getParameter("ans2"); 
    String ans3=request.getParameter("ans3"); 
    String emailid=request.getParameter("email"); 
    String abc=request.getParameter("abc"); 
    System.out.println(emailid); 
    //int a11=0; 
    System.out.println(ans1); 



    //pr1.println(s); 
    int score=0; 
    String a1="2",a2="2",a3="10"; 
    if(ans1.equals(a1)) { 
     score=score+1; 
     System.out.println("incremented"); 
    } 
    if(ans2.equals(a2)) { 
     score=score+1; 
     System.out.println("incremented"); 
    } 
    if(ans3.equals(a3)) { 
     score=score+1; 
     System.out.println("incremented"); 
    } 
    String mar=""+score; 
    //ses.setAttribute("marks", mar); 
    doPost(request, response); 
    pr1.println("<!DOCTYPE html>\r\n" + 
      "<html>\r\n" + 
      "<head>\r\n" + 
      " <title></title>\r\n" + 
      "\r\n" + 
      " <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\r\n" + 
      "\r\n" + 
      "<!-- jQuery library -->\r\n" + 
      "<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js\"></script>\r\n" + 
      "\r\n" + 
      "<!-- Latest compiled JavaScript -->\r\n" + 
      "<script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\r\n" + 
      "\r\n" + 
      "\r\n" + 
      " <script>\r\n" + 
      "window.onload = function(){ UrFunction(); }\r\n" + 
      "\r\n" + 
      "function UrFunction()\r\n" + 
      "{\r\n" + 
      " var x;\r\n" + 
      " var r=confirm(\"Your Score is :"+mar+"\");\r\n" + 
      " if (r==true)\r\n" + 
      " {\r\n" + 
      //" confirm(\"Wanna change Password?\");s\r\n" + 
      "  window.location.assign(\"login.html\")\r\n" + 
      " }\r\n" + 
      " else\r\n" + 
      " {\r\n" + 
      "  x=\"You pressed Cancel!\";\r\n" + 
      "\r\n" + 
      " }\r\n" + 
      " \r\n" + 
      "}\r\n" + 
      "</script>"+ 
      "\r\n" + 
      "</head>\r\n" + 
      "<body>\r\n" + 
      " \r\n" + 
      ""+ 
      "\r\n" + 
      "</body>\r\n" + 
      "</html>\r\n" + 
      "\r\n" + 
      "\r\n" + 
      ""); 
    //ans1="";  ans2="";  ans3=""; score=0; 
    //response.sendRedirect("login.html"); 


} 

/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    //doGet(request, response); 
    HttpSession session=request.getSession(); 
    String s1=(String) session.getAttribute("em"); 
    System.out.println("Email="+s1); 

} 

Répondre

0

Vous faites les choses très difficiles pour vous-même. Pourquoi dans le monde voudriez-vous écrire votre code html dans votre servlet? C'est la raison pour laquelle vous ne pouvez pas accéder au paramètre d'e-mail.

//pr.println(""); 
    RequestDispatcher rd=request.getRequestDispatcher("./timer"); 
    rd.include(request, response); 

    pr.println("<!DOCTYPE html>\r\n" + 
      "<html>\r\n" + 
      "<head>\r\n" + 

Après l'inclusion, vous imprimez simplement du code HTML.

Ce que vous devez faire est tout ce code html que vous avez dans votre première servlet, mettez dans un fichier JSP ou HTML!

Utilisez ensuite la première servlet à transmettre à ce jsp/fichier html comme ceci:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    HttpSession session=request.getSession(); 
    String val=(String) session.getAttribute("user1"); 
    String val1=(String) session.getAttribute("email"); 

    session.setAttribute("em", val1); 

    PrintWriter pr=response.getWriter(); 

    String a="abcdefg"; 

    if(val==null) { 
      RequestDispatcher rd=request.getRequestDispatcher("login.html"); 
      rd.forward(request,response); 
     return; 
    }else { 
      RequestDispatcher rd=request.getRequestDispatcher("somethingElse.html"); 
      rd.forward(request,response); 

     } 
    } 

Ensuite, dans votre fichier somethingElse.html (ou JSP) ... vous ajoutez ce code html et soumettre le formulaire De là. Ce n'est qu'alors que vous pourrez accéder à la variable d'e-mail à partir de la déconnexion.