Skip to content
Snippets Groups Projects
Commit e919e483 authored by Fadhil Imam Kurnia's avatar Fadhil Imam Kurnia
Browse files

Add register servlet

parent 881c017f
No related merge requests found
......@@ -351,5 +351,30 @@ public class DAO {
throw new SQLException("No row effected!");
}
}
public void registerUser(Account account, String password) throws SQLException {
String sql = "INSERT INTO account (`name`, username, email, password, phone, is_driver) " +
"VALUES (?,?,?,MD5(?),?,0)";
connect();
PreparedStatement statement = jdbcConnection.prepareStatement(sql);
statement.setString(1, account.getName());
statement.setString(2, account.getUsername());
statement.setString(3, account.getEmail());
statement.setString(4, password);
statement.setString(5, account.getPhone());
int rowCount = statement.executeUpdate();
statement.close();
disconnect();
if (rowCount < 1) {
throw new SQLException("No row effected!");
}
disconnect();
}
}
package org.informatika.ojek;
import com.google.gson.Gson;
import org.informatika.ojek.model.Account;
import org.informatika.ojek.model.Response;
import javax.servlet.ServletException;
......@@ -9,21 +11,55 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
@WebServlet(name = "Register", urlPatterns = "/register")
public class Register extends HttpServlet {
private DAO DAO;
private Gson gson;
public void init() {
String jdbcURL = getServletContext().getInitParameter("jdbcURL");
String jdbcUsername = getServletContext().getInitParameter("jdbcUsername");
String jdbcPassword = getServletContext().getInitParameter("jdbcPassword");
DAO = new DAO(jdbcURL, jdbcUsername, jdbcPassword);
gson = new Gson();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
Response data;
response.setStatus(500);
String token = request.getParameter("token");
String name = request.getParameter("name");
String username;
String email;
String password;
String phone;
String username = request.getParameter("username");
String email = request.getParameter("email");
String password = request.getParameter("password");
String phone = request.getParameter("phone");
if (name == null || username == null || email == null || password == null || phone == null) {
data = new Response(Response.STATUS_ERROR, null, null, "Wrong parameter!");
out.print(gson.toJson(data));
return;
}
Account account = new Account(name, username, email, password, phone, false);
try {
DAO.registerUser(account, password);
} catch (SQLException e) {
e.printStackTrace();
data = new Response(Response.STATUS_ERROR, null, null, e.getMessage());
out.print(gson.toJson(data));
return;
}
data = new Response(Response.STATUS_SUCCESS, null, null, "User " + username + "registered!");
out.print(gson.toJson(data));
return;
}
}
......@@ -13,6 +13,15 @@ public class Account {
protected String photo;
protected Boolean isDriver;
public Account(String name, String username, String email, String phone, String photo, Boolean isDriver) {
this.name = name;
this.username = username;
this.email = email;
this.phone = phone;
this.photo = photo;
this.isDriver = isDriver;
}
public Account(int id, String name, String username, String email, String phone, String photo, Boolean isDriver) {
this.id = id;
this.name = name;
......
......@@ -16,6 +16,10 @@
<servlet-name>Validate</servlet-name>
<servlet-class>org.informatika.ojek.Validate</servlet-class>
</servlet>
<servlet>
<servlet-name>Register</servlet-name>
<servlet-class>org.informatika.ojek.Register</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Auth</servlet-name>
......@@ -29,9 +33,13 @@
<servlet-name>Main</servlet-name>
<url-pattern>/info</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>main</welcome-file>
<welcome-file>info</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment