Advertisement
Lauda

Untitled

Jul 1st, 2014
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // JSON SCRIPT:
  2.  
  3. $('#reg_btn1').on('click', function(e) {
  4.     e.preventDefault();
  5.     var objectArray = $("#register-form :input").serializeArray(); // Make an array of input vals
  6.     var data, objectData = {};
  7.     action = 'new', name = null;
  8.    
  9.     for (var i in objectArray)
  10.     {
  11.         name = objectArray[i].value;
  12.         objectData[objectArray[i].name] = objectArray[i].value;
  13.     };
  14.  
  15.     // Delete stuff that's not needed for processing
  16.     delete objectData.confirm_password;
  17.     delete objectData.cbTos;
  18.  
  19.     data = { 'action' : action, 'data' : objectData };
  20.      
  21.     data =  JSON.stringify(data);
  22.      
  23.     data = "reg=" + data;
  24.                  
  25.     $.ajax({
  26.         type: "POST",
  27.         url: "<%=request.getContextPath()%>/RegisterServlet",
  28.         data: data,
  29.         dataType: "json"
  30.       }).
  31.         success(function(res){
  32.             if(res.url != null)
  33.             {
  34.                 alert(res.url);
  35.                 window.location.href = res.url;
  36.             }
  37.  
  38.         }).
  39.         error(function(res){
  40.            
  41.         });
  42.   });
  43. });
  44.  
  45. // SERVLET
  46.     @Override
  47.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  48.         System.out.println("doso na REGSERVLET - POST");
  49.        
  50.          response.setHeader("Cache-Control", "no-cache, max-age=0, must-revalidate, no-store");
  51.          getServletContext().removeAttribute("data");
  52.          WebShop ws = (WebShop)this.getServletContext().getAttribute("webShop");
  53.          
  54.          
  55.          String jsonData = request.getParameter("reg");
  56.             System.out.println("jsonData: " + jsonData);
  57.        
  58.             ObjectMapper mapper = new ObjectMapper();
  59.            
  60.             JsonNode rootNode = mapper.readTree(jsonData);
  61.            
  62.             JsonNode actionNode = rootNode.path("action");
  63.            
  64.             System.out.println(actionNode.toString());
  65.             if (actionNode.toString().replace("\"", "").equals("new"))
  66.             {
  67.                 JsonNode dataNode = rootNode.path("data");
  68.                 User u = mapper.readValue(dataNode.toString(), User.class);
  69.                 u.setRole(UserRole.USER.getValue()); // We assume that reg'd user is a normal user..it can be later be promoted by an admin to a mod/admin.
  70.                 System.out.println("Username: " + u.getUsername());
  71.                 System.out.println("USERS: " + ws.getUsers().toString());
  72.                
  73.                 if (u.getUsername().isEmpty() || u.getEmail().isEmpty() || u.getLastName().isEmpty() || u.getName().isEmpty() || u.getPassword().isEmpty() || u.getPhone().isEmpty())
  74.                 {
  75.                     outputMessage(request, response, new Message("All fields must contain data! Please try again.", "danger"));
  76.                     return;
  77.                 }
  78.                 if (ws.getUsers().containsKey(u.getUsername()))
  79.                 {
  80.                     outputMessage(request, response, new Message("Account with that username already exists, please choose another username.", "danger"));
  81.                     return;
  82.                 }
  83.                
  84.                 ws.addUser(u);
  85.                 System.out.println("user: " + u.toString());
  86.                  
  87.            //    RequestDispatcher disp = request.getRequestDispatcher("views/main.jsp");
  88.            //    disp.forward(request, response);
  89.             }
  90.             else if (actionNode.toString().replace("\"", "").equals("edit"))
  91.             {
  92.                 // TODO: fixme
  93.                 // For editing user
  94.             }
  95.             else if (actionNode.toString().replace("\"", "").equals("delete"))
  96.             {
  97.                 // TODO: fixme
  98.                 // Deleting a user
  99.             }
  100.             // Make a new JSON object for a response, we can pass here anything we want. Feedback message, redirect URL, apple pie...
  101.             response.setContentType("application/json");
  102.             JSONObject obj = new JSONObject();
  103.             try {
  104.                 obj.put("message", "User successfully.");
  105.                 obj.put("url", "test.jsp");
  106.             } catch (JSONException e) {
  107.                 // TODO Auto-generated catch block
  108.                 e.printStackTrace();
  109.             }
  110.            
  111.             PrintWriter pw = response.getWriter();
  112.             pw.print(obj);
  113.             System.out.println("Poslao response: " + pw.toString());
  114.            
  115.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement