@RequestMapping(value = "/checkout", method = RequestMethod.POST) public ModelAndView validateUser( @RequestParam("username") String username, @RequestParam("password") String password, @RequestParam("prodType") String prodType, @RequestParam("prodId") int prodId) { System.out.println("in checkout"); DBConnection connection = new DBConnection(); boolean signingin = false; signingin = connection.signIn(username, password); ModelAndView mv = new ModelAndView(); // Validate user if (signingin) { // Valid user MongoDBConnection mongoConnection = new MongoDBConnection(); if (!mongoConnection.mongoDBProdAvail(prodType, prodId)) { mv.addObject("error", "Database down! Please come back later."); mv.setViewName("error"); return mv; } DBObject product = mongoConnection.mongoDBGetProduct(prodType, prodId); boolean result = connection.checkInventoryForMoreThanZeroItems(prodType, prodId); if (result) { System.out.println("username inside login controller:" + username); Inventory obj = new Inventory(); obj = connection.displayItemType(prodType, prodId); mv.addObject("username", username); mv.addObject("prodId", prodId); mv.addObject("prodType", prodType); mv.addObject("prodRate", obj.getRateperitem()); mv.addObject("qty", obj.getQty()); mv.addObject("message", "Product available"); mv.addObject("product", product); mv.setViewName("checkout"); } else { // 0 products available mv.addObject("error", "Sorry! Item Not on Sale."); // mv.addObject("redirectUrl", "http://localhost:8090/store"); // mv.addObject("button", "Back to store"); mv.setViewName("error"); } } else { // Invalid user mv.setViewName("failure"); mv.addObject("error", "Invalid login! Wrong username or password. "); mv.addObject("redirectUrl", "http://localhost:8080/cart/login/" + prodType + '/' + prodId); } return mv; }