0% found this document useful (0 votes)
5 views

Advanced-Java Practice Assignment3

Uploaded by

harsha1puvvala
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Advanced-Java Practice Assignment3

Uploaded by

harsha1puvvala
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Advanced Java Practice Assignment-3

Develop Social Networking Website MyFriends


i) registration.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Registration Form</title>
<style>
.regst {
width: 20vw;
border: 3px solid black;
border-radius: 15px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 20px;
}
</style>
</head>
<body>
<center>
<h1 style="color: green">Registration Form</h1>
<form action="RegistrationServlet" method="post">
<div class="regst" style="color: purple">
First Name: <input type="text" name="firstName" required><br>
Last Name: <input type="text" name="lastName" required><br>
Country:
<select name="country" required>
<option value="">Select Country</option>
<option value="India">India</option>
<option value="USA">USA</option>
<option value="UK">UK</option>
<option value="Australia">Australia</option>
</select><br>
<b>Languages Known:</b><br>
<input type="checkbox" name="languages" value="English">English
<input type="checkbox" name="languages" value="Hindi">Hindi
<input type="checkbox" name="languages"
value="Telugu">Telugu<br>
<b>Gender:</b><br>
<input type="radio" name="gender" value="Male" required>Male
<input type="radio" name="gender" value="Female">Female
<input type="radio" name="gender" value="Other">Other<br>
<button type="submit" name="action"
value="Submit">Submit</button>
<button type="reset" name="action" value="Reset">Reset</button>
</div>
</form>
</center>
</body>
</html>
ii) registrationServlet
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

import com.service.RegisterService;
import com.model.User;
import com.bo.RegistrationBO;

@WebServlet("/RegistrationServlet")
public class RegistrationServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public RegistrationServlet() {
super();
}

protected void doPost(HttpServletRequest request, HttpServletResponse


response) throws ServletException, IOException {
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
String country = request.getParameter("country");
String[] languagesArray = request.getParameterValues("languages");
String languages = String.join(", ", languagesArray != null ?
languagesArray : new String[0]);
String gender = request.getParameter("gender");

User user = new User(firstName, lastName, country, languages, gender);


RegistrationBO bo = new RegistrationBO();
RegisterService service = new RegisterService();

String targetPage;
if (bo.validateUser(user)) {
if (service.registerUser(user)) {
request.setAttribute("user", user);
targetPage = "successPage.jsp";
} else {
targetPage = "error.jsp";
}
} else {
targetPage = "error.jsp";
}

RequestDispatcher dispatcher = request.getRequestDispatcher(targetPage);


dispatcher.forward(request, response);
}
}
iii) RegistrationBO
package com.bo;
import com.model.User;
public class RegistrationBO {
public boolean validateUser(User user) {
return user.getFirstName() != null && !user.getFirstName().isEmpty() &&
user.getLastName() != null && !user.getLastName().isEmpty() &&
user.getCountry() != null && !user.getCountry().isEmpty() &&
user.getLanguages() != null && !user.getLanguages().isEmpty() &&
user.getGender() != null && !user.getGender().isEmpty();
}
}
iv) RegistrationDao
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.util.DatabaseUtil;
import com.model.User;
public class RegistrationDao {
public boolean registerUser(User user) {
try (Connection con = DatabaseUtil.getConnection()) {
String selectQuery = "SELECT MAX(register_id) FROM user";
PreparedStatement psSelect = con.prepareStatement(selectQuery);
ResultSet rs = psSelect.executeQuery();
int registrationId = rs.next() ? rs.getInt(1) + 1 : 1;

String insertQuery = "INSERT INTO user (register_id, first_name,


last_name, country, languages, gender) VALUES (?, ?, ?, ?, ?, ?)";
PreparedStatement psInsert = con.prepareStatement(insertQuery);
psInsert.setInt(1, registrationId);
psInsert.setString(2, user.getFirstName());
psInsert.setString(3, user.getLastName());
psInsert.setString(4, user.getCountry());
psInsert.setString(5, user.getLanguages());
psInsert.setString(6, user.getGender());

return psInsert.executeUpdate() > 0;


} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
v) successPage.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Registration Success</title>
</head>
<body>
<h1>Registration Successful</h1>
<p>First Name: ${user.firstName}</p>
<p>Last Name: ${user.lastName}</p>
<p>Country: ${user.country}</p>
<p>Languages Known: ${user.languages}</p>
<p>Gender: ${user.gender}</p>
</body>
</html>
vi) error.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Error Page</title>
</head>
<body>
<center>
<h2 style="color: red">Error: Please fill in all the required details!</h2>
</center>
</body>
</html>
vii) User Class
package com.model;
public class User {
private String firstName;
private String lastName;
private String country;
private String languages;
private String gender;

public User() {
super();
}
public User(String firstName, String lastName, String country, String
languages, String gender) {
this.firstName = firstName;
this.lastName = lastName;
this.country = country;
this.languages = languages;
this.gender = gender;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getCountry() {


return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getLanguages() {
return languages;
}
public void setLanguages(String languages) {
this.languages = languages;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "User [firstName=" + firstName + ", lastName=" + lastName + ",
country=" + country +
", languages=" + languages + ", gender=" + gender + "]";
}
}
viii) Database records
CREATE TABLE user (
register_id INT PRIMARY KEY,
first_name VARCHAR(25),
last_name VARCHAR(25),
country VARCHAR(25),
languages VARCHAR(50),
gender VARCHAR(20));

You might also like