GrNo.2 Registration Module
GrNo.2 Registration Module
<div class="register-card">
<h3 class="text-center">Register</h3>
<form action="registerController" method="post">
<div class="mb-3">
<label for="port_id" class="form-label">Port ID</label>
<input type="text" class="form-control" name="port_id"
placeholder="Enter your Port ID" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" class="form-control" name="password"
placeholder="Enter your Password" required>
</div>
<div class="mb-3">
<label for="confirm_password" class="form-label">Confirm
Password</label>
<input type="password" class="form-control" name="confirm_password"
placeholder="Confirm your Password" required>
</div>
<div class="mb-3">
<label for="location" class="form-label">Location</label>
<input type="text" class="form-control" name="location"
placeholder="Enter your Location" required>
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label>
<select class="form-select" name="role" required>
<option selected disabled>Select Role</option>
<option value="consumer">Consumer</option>
<option value="seller">Seller</option>
</select>
</div>
<div class="d-flex justify-content-center mt-4">
<button type="submit" class="btn btn-register" value="register"
name="register">Register</button>
</div>
</form>
<div class="login-card">
<div class="d-flex justify-content-center">
<img src="https://cdn-icons-png.flaticon.com/512/3135/3135715.png"
alt="Profile" class="profile-img">
</div>
<h3 class="text-center">Login</h3>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js">
</script>
</body>
</html>
Middleware:
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
package model;
import operationImplementor.RegisterImplementor;
package operations;
import model.Register_Pojo;
package operationImplementor;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import db.GetConnection;
import model.Register_Pojo;
import operations.Operations;
try {
conn = GetConnection.getConnection();
cs = conn.prepareCall("CALL register_user(?,?,?,?,?)");
cs.setInt(1, pojo.getPort_id());
cs.setString(2, pojo.getPassword());
cs.setString(3, pojo.getConfirm_password());
cs.setString(4, pojo.getLocation());
cs.setString(5, pojo.getRole());
boolean hasResults = cs.execute(); // Executes the procedure
if (!hasResults) {
System.out.println("Registration successful");
} else {
System.out.println("Registration failed");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (cs != null) cs.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
try {
conn = GetConnection.getConnection();
stmt = conn.prepareCall("{CALL login_user(?, ?, ?)}");
stmt.setInt(1, portId);
stmt.setString(2, password); // Assuming password is stored as hashed
in DB
stmt.setString(3, role);
rs = stmt.executeQuery();
if (rs.next()) {
loginMessage = rs.getString(1); // Should return 'Login successful'
or 'Invalid credentials'
System.out.println("Login result from DB: " + loginMessage); //
Debugging
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return loginMessage; // Return success or failure message
}
}
package controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Register_Pojo;
@WebServlet("/registerController")
public class registerController extends HttpServlet {
private static final long serialVersionUID = 1L;
try {
pojo.setPort_id(Integer.parseInt(request.getParameter("port_id")));
pojo.setPassword(request.getParameter("password"));
pojo.setConfirm_password(request.getParameter("confirm_password"));
pojo.setLocation(request.getParameter("location"));
pojo.setRole(request.getParameter("role"));
if ("register".equals(action)) {
pojo.register_user(pojo);
System.out.println("User registered successfully!");
response.sendRedirect("login.jsp"); // Redirect to success page
} else {
System.out.println("Error in registration: invalid action.");
response.sendRedirect("register.jsp"); // Redirect to error page
}
} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("register.jsp");
}
}
}
Backend:
use db_1;
-- Nehal Start
CREATE TABLE consumer_port (
port_id INT PRIMARY KEY AUTO_INCREMENT,
password VARCHAR(255) NOT NULL,
location VARCHAR(255),
role VARCHAR(255) NOT NULL
);
desc
use
desc consumer_port;
desc products;
desc
DELIMITER ;
DELIMITER ;
DELIMITER ;
DELIMITER ;
DELIMITER ;
DELIMITER ;