IPD Food Donation Project
IPD Food Donation Project
PRODUCT
DESIGN
Food Donation Project
in java
Technologies used: java, servlet, jsp,mysql, tomcat server.
Submitted by:-
Kartik Malik
UE193054
CSE Section-1
FoodUnit.java
package com.donate.beans;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(unique = true)
private long contactNumber;
return unitId;
public FoodUnit() {
this.unitId = unitId;
@Override
return "FoodUnit [unitId=" + unitId + ", name=" + name + ", serves=" + serves + ", items=" + items
return name;
this.name = name;
return serves;
}
this.serves = serves;
return items;
this.items = items;
return availabilityInHours;
this.availabilityInHours = availabilityInHours;
return contactNumber;
this.contactNumber = contactNumber;
return alternativeContactNumber;
this.alternativeContactNumber = alternativeContactNumber;
this.address = address;
return landmark;
this.landmark = landmark;
return date;
this.date = date;
Provider.java
package com.donate.beans;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(unique = true)
@Override
return "Provider [providerId=" + providerId + ", providerName=" + providerName + ", phone=" + phone + ",
email="
+ email + ", city=" + city + ", cityArea=" + cityArea + ", address=" + address + ",
typeOfUser="
return password;
this.password = password;
public Provider() {
return providerId;
}
public void setProviderId(int providerId) {
this.providerId = providerId;
return providerName;
this.providerName = providerName;
return phone;
this.phone = phone;
return email;
this.email = email;
return city;
this.city = city;
this.cityArea = cityArea;
return address;
this.address = address;
return typeOfUser;
this.typeOfUser = typeOfUser;
Receiver.java
package com.donate.beans;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(unique = true)
public Receiver() {
return receiverId;
this.receiverId = receiverId;
return receiverName;
this.receiverName = receiverName;
return phone;
return email;
this.email = email;
return city;
this.city = city;
return cityArea;
this.cityArea = cityArea;
return address;
this.address = address;
return typeOfUser;
}
public void setTypeOfUser(String typeOfUser) {
this.typeOfUser = typeOfUser;
return password;
this.password = password;
@Override
return "Receiver [receiverId=" + receiverId + ", receiverName=" + receiverName + ", phone=" + phone + ",
email="
+ email + ", city=" + city + ", cityArea=" + cityArea + ", address=" + address + ",
typeOfUser="
RequestController.java
package com.donate.controller;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.donate.beans.FoodUnit;
import com.donate.beans.Provider;
import com.donate.beans.Receiver;
import com.donate.mail.OTPMailer;
import com.donate.otp.OtpGenerator;
import com.donate.service.ServiceProvider;
@Controller
@Autowired
@GetMapping("/login")
return "login";
@GetMapping("/forgotpasswordrequest")
return "forgotpassword";
@PostMapping("/getotp")
if(serviceProvider.mailExistance(email) == true) {
mailer.sendMail(email, otp);
model.addAttribute("email",email);
model.addAttribute("otpsent", "sent");
return "forgotpassword";
}else {
return "forgotpassword";
@GetMapping("/providersignup")
return "providersignup";
@GetMapping("/receiversignup")
return "receiversignup";
@PostMapping("/submitotp")
System.out.println(otp+" "+enteredotp);
if(otp == enteredotp) {
model.addAttribute("email",email);
return "createnewpassword";
else {
return "forgotpassword";
}
}
@PostMapping("/updatepassword")
if(password.equals(passwordAgain)) {
if(result == true) {
return "login";
}else {
return "createnewpassword";
}else {
return "createnewpassword";
@PostMapping("/formsubmit")
if(type.equals("doner")) {
provider.setCity(city);
provider.setCityArea(cityArea);
provider.setTypeOfUser(typeOfUser);
provider.setEmail(email);
provider.setPhone(phone);
provider.setProviderName(name);
provider.setPassword(passwordAgain);
// if(password.equals(passwordAgain)) {
// serviceProvider.addFoodProvider(provider);
// }
provider1 = provider;
model.addAttribute("email", email);
signupOtp = otp;
return "signupmailverify";
}else {
if(!password.equals(passwordAgain)) {
return "providersignup";
}else if(password.length()<8) {
return "providersignup";
}else {
receiver.setPhone(phone);
receiver.setEmail(email);
receiver.setTypeOfUser(typeOfUser);
receiver.setCityArea(cityArea);
receiver.setCity(city);
receiver.setAddress(address);
receiver.setPassword(password);
receiver1 = receiver;
this.receiver = true;
model.addAttribute("email", email);
signupOtp = otp;
return "signupmailverify";
}else {
if(!password.equals(passwordAgain)) {
return "receiversignup";
}else if(password.length()<8) {
return "receiversignup";
System.out.println(receiver);
return null;
}
@PostMapping("/addprovider")
if(signupOtp == otp) {
boolean result;
System.out.println(receiver);
if(this.receiver == true) {
result = serviceProvider.addReceiver(receiver1);
}else {
result = serviceProvider.addFoodProvider(provider1);
return "login";
}else {
return "signupmailverify";
@PostMapping("/logindata")
if(verified) {
if(type.equals("Donor")) {
return "donate";
}else {
model.addAttribute("foods", foods);
return "showallfoods";
}else {
model.addAttribute("message","Wrong Credentials...!!");
return "login";
@PostMapping("/changepassword")
return null;
@PostMapping("addunitfood")
foodUnit.setName(name);
foodUnit.setServes(serves);
foodUnit.setItems(items);
foodUnit.setAvailabilityInHours(hours);
foodUnit.setContactNumber(contact);
foodUnit.setAlternativeContactNumber(altContact);
foodUnit.setAddress(address);
foodUnit.setLandmark(landmark);
System.out.println(foodUnit);
serviceProvider.addUnitFood(foodUnit);
return "foodadded";
ProjectDAO.java
package com.donate.Dao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.Query;
import org.springframework.stereotype.Repository;
import com.donate.beans.FoodUnit;
import com.donate.beans.Provider;
import com.donate.beans.Receiver;
@Repository
@Override
try {
transaction.begin();
manager.persist(provider);
transaction.commit();
return true;
}catch (Exception e) {
return false;
}finally {
factory.close();
manager.close();
@Override
if(type.equals("Donor")) {
query.setParameter("mail", email);
try {
if(data.getPassword().equals(password)){
return true;
}catch (Exception e) {
e.printStackTrace();
return false;
}
}else {
query.setParameter("mail", email);
try {
if(data.getPassword().equals(password)){
return true;
}catch (Exception e) {
e.printStackTrace();
return false;
return false;
@Override
query.setParameter("mail", email);
try {
if(data!=null){
return true;
}
}catch (Exception e) {
e.printStackTrace();
return false;
return false;
@Override
query.setParameter("mail", email);
data.setPassword(password);
try {
transaction.begin();
manager.persist(data);
transaction.commit();
return true;
}catch (Exception e) {
e.printStackTrace();
return false;
@Override
try {
transaction.begin();
manager.persist(foodUnit);
transaction.commit();
return true;
}catch (Exception e) {
e.printStackTrace();
return false;
@Override
try {
transaction.begin();
manager.persist(receiver);
transaction.commit();
return true;
}catch (Exception e) {
return false;
}finally {
factory.close();
manager.close();
@Override
try {
return foods;
}catch (Exception e) {
e.printStackTrace();
return null;
package com.donate.mail;
import java.io.File;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
// to = "malikkartik147@gmail.com";
// from = "malikkartik147@gmail.com";
// sendEmail(message,subject,to,from);
sendAttach(message,subject,to);
System.out.println("PROPERTIES "+properties);
//host set
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port","465");
properties.put("mail.smtp.ssl.enable","true");
properties.put("mail.smtp.auth","true");
@Override
});
session.setDebug(true);
//Step 2 : compose the message [text,multi media]
try {
//from email
m.setFrom("malikkartik147@gmail.com");
m.setSubject(subject);
//attachement..
//file path
String path="C:\\photo\\IMG_20210910_160331.jpg";
//text
//file
try {
textMime.setText(message);
fileMime.attachFile(file);
mimeMultipart.addBodyPart(textMime);
//mimeMultipart.addBodyPart(fileMime);
} catch (Exception e) {
e.printStackTrace();
m.setContent(mimeMultipart);
//send
Transport.send(m);
}catch (Exception e) {
e.printStackTrace();
System.out.println("Sent success...................");
ServiceProvider.java
package com.donate.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.donate.Dao.ProjectDao;
import com.donate.beans.FoodUnit;
import com.donate.beans.Provider;
import com.donate.beans.Receiver;
@Service
public class ServiceProviderImpl implements ServiceProvider {
@Autowired
@Override
return dao.addFoodProvider(provider);
@Override
@Override
return dao.mailExistance(email);
@Override
return dao.updatePassword(email,password);
@Override
return false;
}else {
return dao.addUnitFood(foodUnit);
@Override
dao.addReceiver(receiver);
return false;
@Override
return dao.getAllFoods();
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="new"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provide
r>
<properties>
<property name="javax.persistence.jdbc.driver"
value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306/fooddonation" />
<property name="javax.persistence.jdbc.user"
value="root" />
<property name="javax.persistence.jdbc.password"
value="3639" />
<property name="hibernate.show_sql"
value="true" />
<property name="hibernate.format_sql" value="true"
/>
<property name="hibernate.hbm2ddl.auto"
value="update" />
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQL5InnoDBDialect" />
</properties>
</persistence-unit>
</persistence>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.donatefood</groupId>
<artifactId>project3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding
>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<!--
https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
<!--
https://mvnrepository.com/artifact/javax.servlet/javax.servlet-
api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!--
https://mvnrepository.com/artifact/org.springframework/spring-
webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.18</version>
</dependency>
<!--
https://mvnrepository.com/artifact/org.hibernate/hibernate-core
-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.6.5.Final</version>
</dependency>
<!--
https://mvnrepository.com/artifact/org.hibernate/hibernate-
entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.6.5.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-
connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
</dependencies>
<build>
<finalName>project3</finalName>
<pluginManagement><!-- lock down plugins versions to avoid
using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see
http://maven.apache.org/ref/current/maven-core/default-
bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body>
<%if(request.getAttribute("exception")!=null){ %>
<p style="color: red"><%=request.getAttribute("exception") %></p>
<%} %>
<form action="updatepassword" method="post">
<div class="form-group">
<label >Your Email</label> <input
type="email" class="form-control"
name="email"
value="<%=request.getAttribute("email") %>"
readonly="readonly"/>
</div>
<div class="form-group">
<label >Enter Your New Password</label> <input
type="text" class="form-control"
name="password"
placeholder="Enter your new password" />
</div>
<div class="form-group">
<label >Enter Your Password Again</label> <input
type="text" class="form-control"
name="passwordagain"
placeholder="Enter password again" />
</div>
<%if(request.getAttribute("passwordmismatch")!=null)
{ %>
<h1><%=request.getAttribute("passwordmismatch") %></h1>
<%} %>
<div class="text-center form-group">
<input type="submit" value="Submit"/>
</div>
</form>
</body>
</html>
Donate.jsp
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body style="background: #e2e2e2;">
<div class="form-group">
<label >Estimated Quantity(serves)</label> <input
type="number" class="form-control"
name="serves"
placeholder="serves quantity"
required="required">
</div>
<div class="form-group">
<label >Type of items</label> <input
type="number" class="form-control"
name="items"
placeholder="number of items"
required="required">
</div>
<div class="form-group">
<label >Availability(in hours)</label> <input
type="number" class="form-control"
name="hours"
placeholder="in hours" required="required">
</div>
<div class="form-group">
<label >Contact Number</label> <input
type="number" class="form-control"
name="phone"
placeholder="Enter your phone number"
required="required">
</div>
<div class="form-group">
<label >Alternative Contact
Number(Optional)</label> <input
type="number" class="form-control"
name="alternativephone"
placeholder="Enter your phone number" >
</div>
<div class="form-group">
<label >Address</label>
<textarea class="form-control" name="address"
rows="3"></textarea>
</div>
<div class="form-group">
<label >Landmark</label>
<textarea class="form-control" name="landmark"
rows="1"></textarea>
</div>
<div class="text-center form-group">
<input type="submit" value="Donate"/>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Foodadded.jsp
Forgotpassword.jsp
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body>
<form action="getotp" method="post">
<div class="form-group">
<label >Enter Your Email</label> <input
type="email" class="form-control"
name="email"
placeholder="Enter your email" />
</div>
<div class="text-center form-group">
<input type="submit" value="Get OTP"/>
</div>
</form> <%if(request.getAttribute("message")!=null){ %>
<h1 style="color: red"><%=request.getAttribute("message") %></h1>
<%} %>
</body>
</html>
Login.jsp
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body>
<% if(request.getAttribute("message")!=null){ %>
<p style="color: green"> <%=request.getAttribute("message")
%></p>
<%} %>
<form action="logindata" method="post">
<div class="form-group">
<label >Enter Your Email</label> <input
type="email" class="form-control"
name="email"
placeholder="Enter your email"
required="required">
</div>
<div class="form-group">
<label >Enter Your Password</label> <input
type="text" class="form-control"
name="password"
placeholder="Enter your password"
required="required" minlength="8">
</div>
<div class="form-group">
<label >Type of User</label> <select class="form-
control"
name="type" required="required">
<option>Receiver</option>
<option>Donor</option>
</select>
</div>
</form>
</body>
</html>
Navbar.jsp
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body>
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
<img src="/docs/4.0/assets/brand/bootstrap-solid.svg"
width="30" height="30" class="d-inline-block align-top" alt="">
Bootstrap
</a>
<a href="login">Login</a>
<a href="providersignup" style="margin-left: -70%">Signup</a>
</body>
</html>
Providersignup.jsp
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Sign-Up Page</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body style="background: #e2e2e2;">
<div class="container mt-4">
<div class="row">
<div class="col-md-6 offset-md-3">
<div class="card">
<div class="card-body">
<h3 class="text-center"> SignUp Form</h3>
<form action="formsubmit" method="post">
<input type="number" value="1" readonly="readonly"
hidden="hidden" name="providerId"/>
<div class="form-group">
<label >Name</label> <input
type="text" class="form-control"
name="providerName"
placeholder="Enter your name"
required="required">
</div>
<input type="text" name="type" value="doner"
hidden="hidden"/>
<div class="form-group">
<label >Phone Number</label> <input
type="number" class="form-control"
name="phone"
placeholder="Enter your phone number"
required="required">
</div>
<div class="form-group">
<label >Email address</label> <input
type="email" class="form-control"
name="email"
placeholder="name@example.com"
required="required">
</div>
<div class="form-group">
<label >Select Your City</label> <select
class="form-control" name="city"
required="required">
<option>Chandigarh</option>
</select>
</div>
<div class="form-group">
<label >Select Your Area</label> <select
class="form-control"
name="cityArea" required="required">
<option>sector 34</option>
<option>sector 22</option>
<option>sector 17</option>
<option>sector 43</option>
<option>Dera Bassi</option>
<option>Mohali</option>
</select>
</div>
<div class="form-group">
<label >Your Address</label>
<textarea class="form-control" name="address"
rows="3"></textarea>
</div>
<div class="form-group">
<label >Type of Organization</label> <select
class="form-control"
name="typeOfUser" required="required">
<option>Hotel</option>
<option>Restaurant</option>
<option>Party Organizer</option>
<option>Food Supplier</option>
<option>Homemaker</option>
<option>Others</option>
</select>
</div>
<div class="form-group">
<label >Password <%out.print("(minumum length of 8
characters)"); %></label>
<textarea class="form-control" name="password"
rows="1" required="required"
minlength="8"></textarea>
</div>
<%if(request.getAttribute("message")!=null){ %>
<div>
<p style="color: red"><
%=request.getAttribute("message") %> </p>
</div>
<%} %>
<div class="form-group">
<label >Type your password again</label>
<textarea class="form-control"
name="passwordagain"
rows="1" required="required" minlength="8"
></textarea>
</div>
Recieversignup.jsp
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body style="background: #e2e2e2;">
<div class="form-group">
<label >Email address</label> <input
type="email" class="form-control"
name="email"
placeholder="name@example.com"
required="required">
</div>
<div class="form-group">
<label >Select Your City</label> <select
class="form-control" name="city"
required="required">
<option>Chandigarh</option>
</select>
</div>
<div class="form-group">
<label >Select Your Area</label> <select
class="form-control"
name="cityArea" required="required">
<option>sector 34</option>
<option>sector 22</option>
<option>sector 17</option>
<option>sector 43</option>
<option>Dera Bassi</option>
<option>Mohali</option>
</select>
</div>
<div class="form-group">
<label >Your Address</label>
<textarea class="form-control" name="address"
rows="3"></textarea>
</div>
<div class="form-group">
<label >Type of Receiver</label> <select
class="form-control"
name="typeOfUser" required="required">
<option>NGO</option>
<option>Social Worker</option>
</select>
</div>
<input type="text" name="type" value="receiver"
hidden="hidden"/>
<div class="form-group">
<label >Password <%out.print("(minumum length of 8
characters)"); %></label>
<textarea class="form-control" name="password"
rows="1" required="required"
minlength="8"></textarea>
</div>
<%if(request.getAttribute("message")!=null){ %>
<div>
<p style="color: red"><
%=request.getAttribute("message") %> </p>
</div>
<%} %>
<div class="form-group">
<label >Type your password again</label>
<textarea class="form-control"
name="passwordagain"
rows="1" required="required" minlength="8"
></textarea>
</div>
</body>
</html>
Showallfoods.jsp
<%@page import="java.util.List"%>
<%@page import="com.donate.beans.FoodUnit"%>
<%@ page language="java" contentType="text/html; charset=ISO-
8859-1"
pageEncoding="ISO-8859-1"%>
<%@page isELIgnored="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Select an unit</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body>
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">Sno</th>
<th scope="col">Serves</th>
<th scope="col">items</th>
<th scope="col">Address</th>
<th scope="col">Phone </th>
<th scope="col">Select</th>
</tr>
</thead>
<tbody>
<tr><%sno = 1; %>
<% for(FoodUnit unit : foods) {%>
</tr>
<%} %>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
Signupmailverify.jsp
<%@page import="org.hibernate.Hibernate"%>
<%@ page language="java" contentType="text/html; charset=ISO-
8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Mail Verification</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstr
ap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
</head>
<body class="" style="background: #e2e2e2;">
<div class="card">
<div class="card-body">
<form action="addprovider" method="post">
<div class="form-group">
<label >Your Email</label> <input
type="email" class="form-control"
name="email"
value="<%=request.getAttribute("email") %>"
readonly="readonly"/>
</div>
<div class="form-group">
<label >Enter OTP </label> <input
type="number" class="form-control"
name="enteredotp"
placeholder="Enter otp" required="required">
</div>
<%if(request.getAttribute("otpmismatch")!=null){ %>
<h1><%=request.getAttribute("otpmismatch") %></h1>
<%} %>
<div class="text-center form-group">
<input type="submit" value="Submit OTP"/>
</div>
</form>
</div>
</div>
</body>
</html>