Project Docs
Project Docs
Basic requirement
<%
User user=(User)session.getAttribute("loggedinUSer");
boolean isloggedin=true;
if(user == null)
{
isloggedin=false;
response.sendRedirect("login.jsp");
}
%>
<%
if(isloggedin)
{
%>
<li class="nav-item active"><a class="nav-link" href="logout">Logout
<span class="sr-only"></span>
</a></li>
<%
}else
{
%>
<%
}
%>
<%
if(isloggedin && user.getRole().equalsIgnoreCase("admin"))
{
%>
<%
}
%>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search"
placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0"
type="submit">Search</button>
</form>
<%
if(isloggedin)
{
%>
<img src="pics/<%= user !=null?user.getUserImage():"default.png" %>"
alt=""
style="border-radius: 50%; margin-right: 5px; margin-left: 5px; border: 2px
solid black"
width="30" height="30"> <span><%= user!=null ?user.getUserFname():"" %></span>
<%
}
%>
</div>
</nav>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin="anonymous"></script>
</body>
</html>
Index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
</head>
<body>
<!-- navbar -->
<jsp:include page="navbar.jsp"></jsp:include>
<div class="row">
<%
List<Course> clist=null;
for(Course c:clist)
{
%>
<!-- course card column -->
</div>
</div>
</div>
}
%>
</div>
</div>
</body>
</html>
Login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- navbar -->
<jsp:include page="navbar.jsp"></jsp:include>
<div class="row">
<%
String loginmsg=(String)session.getAttribute("loginmsg");
%>
<%
if(loginmsg!=null)
{
%>
<!-- alert message -->
<div class="alert alert-danger" role="alert">
<%= loginmsg %>
</div>
<%
}
%>
<%
String logoutmsg=(String)request.getAttribute("logoutMessage");
%>
<%
if(logoutmsg!=null)
{
%>
<div class="alert alert-success" role="alert">
<%= logoutmsg %>
</div>
<%
}
%>
</div>
</div>
</div>
</body>
</html>
Signup.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="navbar.jsp"></jsp:include>
<div class="row">
<div class="form-group">
<label for="lastinput">Last Name</label> <input type="text"
name="lname" class="form-control" id="lastinput"
aria-describedby="emailHelp" placeholder="Enter LastName">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Email address</label> <input
name="email" type="email" class="form-control"
id="exampleInputEmail1" aria-describedby="emailHelp"
placeholder="Enter email"> <small id="emailHelp"
class="form-text text-muted">We'll never share your email
with anyone else.</small>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label> <input
name="pass" type="password" class="form-control"
id="exampleInputPassword1" placeholder="Password">
</div>
<div class="form-group">
<label for="mob">Mobile</label> <input type="number" name="mob"
class="form-control" id="mob" aria-describedby="emailHelp"
placeholder="Enter mobile No">
</div>
<div class="form-group">
<label for="exampleFormControlFile1">Upload profile pic</label> <input
name="pic" type="file" class="form-control-file"
id="exampleFormControlFile1">
</div>
</div>
</div>
</body>
</html>
View.jsp(assignment)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- navbar -->
<jsp:include page="navbar.jsp"></jsp:include>
<div class="container">
</div>
<p class="lead">Take it as assignment and complete View Feature</p>
</div>
</div>
</div>
</section>
<!-- Related items section-->
</div>
</body>
</html>
editcourse.jsp
<%@page import="serviceImpl.CourseServiceImpl"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
User user=(User)session.getAttribute("loggedinUSer");
if(user==null)
{
response.sendRedirect("login.jsp");
}else if(user.getRole().equalsIgnoreCase("admin"))
{
String cid=request.getParameter("cid");
int id=Integer.parseInt(cid);
%>
<div class="container">
<div class="row">
<div class="form-group">
<label for="lastinput">Course Duration</label> <input value="<%= c.getCourseDuration() %>"
type="text"
name="cdur" class="form-control" id="lastinput"
aria-describedby="emailHelp" placeholder="Enter Course Duration">
</div>
<div class="form-group">
<label for="lastinput">Course Description</label>
<textarea value="<%= c.getCourseDesc() %>" name="cdesc" class="form-control" id="cdesc"
rows="3"><%= c.getCourseDesc() %></textarea>
</div>
<div class="form-group">
<label for="lastinput">Course Fee</label>
<textarea value="<%= c.getCourseFee() %>" name="cfee" class="form-control" id="cdesc" rows="3"><%=
c.getCourseFee() %></textarea>
</div>
<div class="form-group">
<label for="exampleFormControlFile1">Upload Course Image</label> <input
name="cpic" type="file" class="form-control-file"
id="exampleFormControlFile1">
<span><%= c.getCourseImage() %></span>
</div>
<div class="form-group">
<label for="exampleFormControlFile1">Upload Course PDF</label> <input
name="cpdf" type="file" class="form-control-file"
id="exampleFormControlFile1">
<span><%= c.getCoursePdf()%></span>
</div>
</div>
</div>
</div>
<%
}else
{
}
%>
</body>
</html>
Courses.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<div class="row">
<%
User user=(User)session.getAttribute("loggedinUSer");
if(user==null)
{
response.sendRedirect("login.jsp");
}else if(user.getRole().equalsIgnoreCase("admin"))
{
List<Course> courseList=null;
for(Course c:courseList)
{
%>
<%
}
}
else
{
%>
<%
List<Course> courseList=null;
CourseService service=new CourseServiceImpl();
courseList=service.getAllCourses();
for(Course c:courseList)
{
%>
<%
}
}
%>
</div>
</div>
</body>
</html>
allcourses.jsp
<%@page import="serviceImpl.UserServiceImpl"%>
<%@page import="serviceImpl.CourseServiceImpl"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
String del=(String)request.getAttribute("del");
if(del!=null)
{
%>
<div class="alert alert-success" role="alert">
<%= del %>
</div>
<%
}
%>
<div class="container">
<div class="row">
<div class="col-12">
<h3>All Courses</h3>
<table class="table table-hover">
<thead>
<tr>
<%
if(course.size()!=0)
{
for(Course c:course)
{
int uid=c.getUserId();
UserService us=new UserServiceImpl();
String fname=us.getUserByID(uid);
%>
<tr>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
Admin.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
User user=(User)session.getAttribute("loggedinUSer");
if(user ==null)
{
response.sendRedirect("login.jsp");
}
%>
<div class="row">
<div class="card">
<div class="card-body" style="background-color: blue">
<h5 class="card-title">
</div>
</div>
</div>
<div class="card">
<div class="card-body" style="background-color: blue">
<h5 class="card-title">
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Addcourse.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- navbar -->
<jsp:include page="navbar.jsp"></jsp:include>
<%
String coursemsg=(String)session.getAttribute("cmsg");
%>
<div class="container">
<div class="row">
<div class="col-md-6 offset-3">
<h3>Admin Dashboard</h3>
<div class="form-group">
<label for="lastinput">Course Duration</label> <input type="text"
name="cdur" class="form-control" id="lastinput"
aria-describedby="emailHelp" placeholder="Enter Course Duration">
</div>
<div class="form-group">
<label for="lastinput">Course Description</label>
<textarea name="cdesc" class="form-control" id="cdesc" rows="3"></textarea>
</div>
<div class="form-group">
<label for="lastinput">Course Fee</label>
<textarea name="cfee" class="form-control" id="cdesc" rows="3"></textarea>
</div>
<div class="form-group">
<label for="exampleFormControlFile1">Upload Course Image</label> <input
accept="image/*" required name="cpic" type="file" class="form-control-file"
id="exampleFormControlFile1">
</div>
<div class="form-group">
<label for="exampleFormControlFile1">Upload Course PDF</label> <input
accept=".pdf" name="cpdf" required type="file" class="form-control-file"
id="exampleFormControlFile1">
</div>
<%
if(coursemsg!=null && !coursemsg.isEmpty())
{
%>
<%
}
%>
</div>
</div>
</div>
</body>
</html>
Mybody.css
body
{
background: rgb(238,174,202);
background: radial-gradient(circle, rgba(238,174,202,1) 0%, rgba(148,187,233,1) 100%);
}
Service
Courservice (interface)
import java.util.List;
import models.Course;
public interface CourseService {
public boolean saveCourseDetail(Course c);
public List<Course> getAllCourses();
public List<Course> getTopSixCourse();
public String getCourseById(int cid);//fetching Course based
on idpublic Course getCourseBasedOnId(int id);//update
coursepublic boolean updateCourseData(Course c);//delete
public boolean deleteCourseById(int id);
}
Userservice
package service;
import models.User;
serviceImpl
CourseServiceImpl
public class CourseServiceImpl implements CourseService {
@Override
public boolean saveCourseDetail(Course c) {
return addCourse;
}
@Override
public List<Course> getAllCourses() {
// comunicate to dao
CourseDao cdao = new CourseDao(DBConnection.getConn());
List<Course> allMyCourse = cdao.getAllMyCourse();
return allMyCourse;
}
@Override
public List<Course> getTopSixCourse() {
// comunicate to dao
CourseDao cdao = new CourseDao(DBConnection.getConn());
List<Course> sixCourses = cdao.getSixCourses();
return sixCourses;
}
@Override
public String getCourseById(int cid) {
// comunicate to dao
CourseDao cdao = new CourseDao(DBConnection.getConn());
@Override
public Course getCourseBasedOnId(int id) {
// comunicate to dao
CourseDao cdao = new CourseDao(DBConnection.getConn());
Course course = cdao.getCourseById(id);
return course;
@Override
public boolean updateCourseData(Course c) {
// comunicate to dao
CourseDao cdao = new CourseDao(DBConnection.getConn());
boolean res = cdao.updateCourse(c);
return res;
}
//
//delete
@Override
public boolean deleteCourseById(int id) {
// comunicate to dao
CourseDao cdao = new CourseDao(DBConnection.getConn());
boolean res = cdao.deleteCourseBAsedOnId(id);
return res;
}//end
userserviceImpl
public class UserServiceImpl implements UserService{
return isSaved;
}//method end
return user;
}//end
}//class end
Model
User.java
public class User {
Course.java
public class Course {
MyHelper.java
public class MyHelper {
boolean f = false;
try {
fos.close();
f = true;
} catch (Exception e) {
e.printStackTrace();
System.out.println("file not saved in pics !!!");
return f;
if (!f.exists()) {
f.mkdirs();// creates directoty if not exist
}
part.write(finalPAth);
success = true;
} catch (Exception e) {
e.printStackTrace();
}
return success;
Daos
CourseDao
public class CourseDao {
boolean f = false;
try {
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, c.getCourseName());
ps.setString(2, c.getCourseDuration());
ps.setInt(3, c.getCourseFee());
ps.setString(4, c.getCourseDesc());
ps.setString(5, c.getCourseImage());
ps.setString(6, c.getCoursePdf());
ps.setInt(7, c.getUserId());
if (res > 0) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
return f;
try {
PreparedStatement ps = conn.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String cname = rs.getString("coursename");
String cdur = rs.getString("courseduraton");
int cfee = rs.getInt("coursefee");
String cimg = rs.getString("courseimg");
int cid = rs.getInt("courseid");
int uid = rs.getInt("userid");
String cdesc = rs.getString("coursedesc");
} catch (Exception e) {
e.printStackTrace();
return clist;
try {
PreparedStatement ps = conn.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String cname = rs.getString("coursename");
String cdur = rs.getString("courseduraton");
int cfee = rs.getInt("coursefee");
String cimg = rs.getString("courseimg");
int cid = rs.getInt("courseid");
int uid = rs.getInt("userid");
String cdesc = rs.getString("coursedesc");
clist.add(course);
} catch (Exception e) {
e.printStackTrace();
}
return clist;
}//
try {
String query = "select * from course where courseid=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
pdfName = rs.getString("pdfname");
} catch (Exception e) {
e.printStackTrace();
return pdfName;
try {
String query = "select * from course where courseid=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
c.setCourseDesc(cdesc);
c.setCourseDuration(cdur);
c.setCourseFee(cfee);
c.setCourseId(cid);
c.setCourseImage(cimg);
c.setCoursePdf(pdfname);
c.setCourseName(cname);
} catch (Exception e) {
e.printStackTrace();
}
return c;
// update method
try {
// when pdf and image both uploaded
ps.executeUpdate();
f = true;
ps.executeUpdate();
f = true;
ps.executeUpdate();
f = true;
ps.executeUpdate();
f = true;
} catch (Exception e) {
e.printStackTrace();
}
return f;
}//
try {
String query = "delete from course where courseid=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setInt(1, id);
if(res>0)
{
f=true;
}else
{
f=false;
}
} catch (Exception e) {
return f;
Logindao
public class LoginDao {
try {
if (rs.next()) {
user = new User();// empty
user.setMobNo(mob);
user.setUserEmail(uemail);
user.setUserFname(fname);
user.setUserImage(picname);
user.setUserLname(lname);
user.setUserId(uid);
user.setRole(role);
} catch (Exception e) {
e.printStackTrace();
return user;
}// end
Registerdao
public class RegisterDao {
try {
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, u.getUserFname());
ps.setString(2, u.getUserLname());
ps.setString(3, u.getUserEmail());
ps.setString(4, u.getPassword());
ps.setString(5, u.getUserImage());
ps.setLong(6, u.getMobNo());
ps.setString(7, u.getRole());
int res = ps.executeUpdate();
if (res > 0) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
return f;
Userdao
public class UserDao {
try
{
ResultSet rs = ps.executeQuery();
if(rs.next())
{
userName = rs.getString("firstname");
}
}catch(Exception e)
{
e.printStackTrace();
return userName;
}
Controllers
AddCourseController
@WebServlet("/addcourse")
@MultipartConfig
public class AddCourseController extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
resp.setContentType("text/html");
PrintWriter wrt = resp.getWriter();
if(cmessage==null)
{
// if(imagePart.getSize()>1024*1024*5)
// {
//
// }
//working on pdf part
Part pdfPart = req.getPart("cpdf");
String pdfPath=req.getRealPath("/")+"pdfs";
if(isPdfSaved)
{
if(isimageSaved)
{
//now after saving image and pdf to folder we are ready to save whole course object to
//database
if(isSaved)
{
session.setAttribute("cmsg", "course added succesfully!!!");
}else
{
session.setAttribute("cmsg", "Something Went Wrong!!!");
}
RequestDispatcher rd = req.getRequestDispatcher("addcourse.jsp");
rd.include(req, resp);
}
session.removeAttribute("cmsg");
}else
{
session.removeAttribute("cmsg");
resp.sendRedirect("admin.jsp");
Deletecontroller
@WebServlet("/delete")
public class DeleteController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
//service
CourseService cs=new CourseServiceImpl();
if(res)
{
resp.sendRedirect("allcourses.jsp");
}else
{
req.setAttribute("del", "unable to delete something went wrong!!!!");
RequestDispatcher rd = req.getRequestDispatcher("allcourses.jsp");
rd.forward(req, resp);
}
}
}
Downloadsyllabuscontroller
@WebServlet("/getsyllabus")
public class DownloadSyllabusController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
resp.setContentType("application/pdf");
resp.setHeader("Content-Disposition","attachment;filename=\""+pdfname+"\"");
String path=req.getRealPath("/")+"pdfs"+File.separator+pdfname;
is.read(b);
ServletOutputStream os = resp.getOutputStream();
os.write(b);
is.close();
Editcourse
@WebServlet("/editcourse")
@MultipartConfig
public class EditCourse extends HttpServlet{
//delete left
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
int courseId=Integer.parseInt(cid);
int fee=Integer.parseInt(cfee);
c.setUserId(uid);
//check condition based on image and pdf
//check pdf
MyHelper.savePdfFile(req, path);
String
path=req.getRealPath("/")+"coursepic"+File.separator+c.getCourseImage();
MyHelper.saveImgFile(imagePart.getInputStream(),path);
if(res)
{
req.setAttribute("update", "course updated succesfully!!!");
}else
{
req.setAttribute("update", "something went Wrong please check!!!");
}
RequestDispatcher rd = req.getRequestDispatcher("courses.jsp");
rd.forward(req, resp);
Logincontroller
@WebServlet("/login")
public class LoginController extends HttpServlet {
//doget-->GET request
//dopost -->post
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
resp.setContentType("text/html");
PrintWriter wrt = resp.getWriter();
HttpSession session=req.getSession();
session.setAttribute("loggedinUSer", user);
resp.sendRedirect("admin.jsp");
}else if(user!=null)
{
HttpSession session=req.getSession();
session.setAttribute("loggedinUSer", user);
resp.sendRedirect("courses.jsp");
}else
{
String msg="Invalid credentials !!!";
HttpSession session=req.getSession();
session.setAttribute("loginmsg", msg);
resp.sendRedirect("login.jsp");
}
Logoutcontroller
@WebServlet("/logout")
public class LogoutController extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
resp.setContentType("text/html");
PrintWriter wrt = resp.getWriter();
session.invalidate();//session destroy
req.setAttribute("logoutMessage", logoutMsg);
RequestDispatcher rd = req.getRequestDispatcher("login.jsp");
rd.forward(req, resp);
Registercontroller
@WebServlet("/signup")
@MultipartConfig
public class RegisterController extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
resp.setContentType("text/html");
PrintWriter wrt = resp.getWriter();
String newprofilePic=newtimestamp+"_"+picname;
//file path
String path=req.getRealPath("/")+"pics"+File.separator+u.getUserImage();
if(isSaved)
{
//file saved to pics folder
if(res)
{
wrt.println("user register succesfully!!!");
}else
{
wrt.println("soemthing went wrong!!!");
}
}
DBConnection
public class DBConnection {
try {
if (conn == null) {
Class.forName("com.mysql.cj.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/mycourse", "root", "root");
} catch (Exception e) {
System.out.println("some thing wrong in db connection !!!");
e.printStackTrace();
}
return conn;
}