Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. import javax.servlet.*;
  2. import javax.servlet.http.*;
  3. import java.io.*;
  4. import java.util.*;
  5.  
  6. public class HiddenParamServlet extends HttpServlet {
  7.  
  8.  
  9. private final String[] PARAMS = { "name", "surname", "e-mail" };
  10. private Map<String, String> hiddenParameters;
  11.  
  12. @Override
  13. public void init() {
  14. hiddenParameters = new HashMap<String, String>();
  15. }
  16. @Override
  17. public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  18.  
  19. response.setContentType("text/html");
  20. PrintWriter out = response.getWriter();
  21.  
  22. // control the last parameter added by the client
  23. List<String> clientParameters = Collections.list(request.getParameterNames());
  24.  
  25. // checks if the client already sent all the parameters
  26. if(clientParameters.size() == 3) {
  27. // start the html document
  28. out.println("<html><head><title>Session finished</title></head>");
  29. out.println("<body><h1>Session succesfully completed</h1></body>");
  30. out.println("</html>");
  31. // end the html
  32. out.close();
  33.  
  34. hiddenParameters.clear();
  35. }
  36.  
  37. else {
  38.  
  39. String lastParam = clientParameters.get(clientParameters.size() -1);
  40. //memorizing the last param sent by the client
  41. String value = request.getParameter(lastParam);
  42. hiddenParameters.put(lastParam, value);
  43.  
  44. // starts the HTML document
  45. out.println("<html>");
  46. out.println("<head><title>Tracking session with hidden parameters</title></head>");
  47.  
  48. out.println("<body>");
  49. out.println("<form method="get" action="/DirectoryDiSaluto/HiddenParamServlet">");
  50. out.println("<p>");
  51.  
  52. //write the next parameter to ask to the client
  53. out.println("<label>Insert "+PARAMS[clientParameters.size()]+":");
  54.  
  55. // write the hidden parameters of the server
  56. for(String key : hiddenParameters.keySet()) {
  57. out.println("<input type="hidden" name=""
  58. +key+"" value=""+hiddenParameters.get(key)+"" />");
  59. }
  60. out.println("<input type="text" name=""+PARAMS[clientParameters.size()]+"" />");
  61. out.println("<input type="submit" value="Submit" />");
  62. out.println("</label>");
  63. out.println("</p>");
  64. out.println("</form>");
  65. out.println("</body>");
  66. out.println("</html>");
  67. // end the html
  68.  
  69. out.close();
  70. }
  71. }
  72.  
  73. }
  74.  
  75. <html>
  76. <head>
  77. <title>Tracking session with hidden parameters</title>
  78. </head>
  79.  
  80. <body>
  81.  
  82. <form method="get" action="/DirectoryDiSaluto/HiddenParamServlet">
  83. <p>
  84. <label>Insert name:
  85. <input type="text" name="name"/>
  86. <input type="submit" value="Submit" />
  87. </label>
  88. </p>
  89. </form>
  90. </body>
  91. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement