When I click on the button in index.jsp
, the servlet dosen't run.(Nothing actually happens)
I installed jdk17 and intellij and tomcat9.
All thing I do is: When I run the project in chrome the address is : http://localhost:8080/test_register_war_exploded/
Then I fill the form and click on button but nothing happen.
index.jsp
<form method="post"><table cellpadding="3pt"><tr><td>Firstname :</td><td><input type="text" name="firstname" size="50" class="add_register"/></td></tr><tr><td>Lastname :</td><td><input type="text" name="lastname" size="50" class="add_register"/></td></tr><tr><td>email :</td><td><input type="text" name="email" size="50" class="add_register"/></td></tr><tr><td>Password :</td><td><input type="password" name="password1" size="50" class="add_register"/></td></tr><tr><td>Confirm Password :</td><td><input type="password" name="password2" size="50" class="add_register"/></td></tr></table><p /><input type="button" value="Register" id="register"/></form> ...<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script type="text/javascript"> $(document).ready(function() { $("#register").click(function() { let data = []; let json = {}; let address_data = {}; $("input.add_register").each(function(){ json[this.name] = this.value; }); data.push(json); alert(JSON.stringify(data)); $.ajax({ url: '/register-controller', type: 'POST', data: data, dataType: 'json', contentType: 'application/json', mimeType: 'application/json', }); });});
RegisterController.java
@WebServlet(name = "registerController", value = "/register-controller")public class RegisterController extends HttpServlet {private UserJsonUtils jsonUtils;private User data;private UserDao userDao;final String userPath = "src/model/user/users.json";public void init() { jsonUtils = new UserJsonUtils(); userDao = new UserDao();}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { data = jsonUtils.parseJson(request.getParameter("data")); register();}public void register() { User user = new User(data.getFirstName(), data.getLastName(), data.getEmail(), data.getPassword()); userDao.save(user);}
}
UserDao.java
public class UserDao implements IUser {@Overridepublic void save(User user) { Connection con = dbConnection.makeConnection(); PreparedStatement ps = null; try { ps = con.prepareStatement("insert into users (first_name,last_name, email, password) " +"values(?,?,?,?);", Statement.RETURN_GENERATED_KEYS); ps.setString(1, user.getFirstName()); ps.setString(2, user.getLastName()); ps.setString(3, user.getEmail()); ps.setString(4, user.getPassword()); int k = ps.executeUpdate(); if (k > 0) { ResultSet rs = ps.getGeneratedKeys(); while (rs.next()) { user.setId(rs.getLong(1)); } } } catch (SQLException e) { e.printStackTrace(); } dbConnection.closeConnection(ps); dbConnection.closeConnection();}
UserJsonUtils.java
public class UserJsonUtils {private User data;public UserJsonUtils() {}public User getData() { return data;}public void setData(User data) { this.data = data;}public User parseJson(String params) { Gson gson = new Gson(); data = gson.fromJson(params, User.class); if (data != null) return data; else return null;}public void writeToFile(String path, User user) throws IOException { Gson gson = new Gson(); gson.toJson(user, new FileWriter(path));}
}