You are on page 1of 31

Sunny Shah

130410107114

OPEN ENDED PROJECT


Using J2EE JSP/Servlet API develop student’s management system required to
manage student’s academic activity such as student’s profile, student’s day to day
assignment submission as per instructions and assignment given by teacher .
Provide two login roles one for teachers providing assignment and notification for
class and other for students to submit their assignments and can view notices
published by teachers.

Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-
app_2_5.xsd">
<servlet>
<servlet-name>validate</servlet-name>
<servlet-class>validate</servlet-class>
</servlet>
<servlet>
<servlet-name>student</servlet-name>
<servlet-class>student</servlet-class>
</servlet>
<servlet>
<servlet-name>createAcc</servlet-name>
<servlet-class>createAcc</servlet-class>
</servlet>
<servlet>
<servlet-name>teacher1</servlet-name>
<servlet-class>teacher1</servlet-class>
</servlet>
<servlet>
<servlet-name>teacher</servlet-name>
<servlet-class>teacher</servlet-class>
</servlet>
<servlet>
<servlet-name>student1</servlet-name>
<servlet-class>student1</servlet-class>
</servlet>

1
Sunny Shah
130410107114

<servlet>
<servlet-name>teacher2</servlet-name>
<servlet-class>teacher2</servlet-class>
</servlet>
<servlet>
<servlet-name>student2</servlet-name>
<servlet-class>student2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>validate</servlet-name>
<url-pattern>/validate</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>student</servlet-name>
<url-pattern>/student</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>createAcc</servlet-name>
<url-pattern>/createAcc</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>teacher1</servlet-name>
<url-pattern>/teacher1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>teacher</servlet-name>
<url-pattern>/teacher</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>student1</servlet-name>
<url-pattern>/student1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>teacher2</servlet-name>
<url-pattern>/teacher2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>student2</servlet-name>
<url-pattern>/student2</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>

2
Sunny Shah
130410107114

30
</session-timeout>
</session-config>
<multipart-config>
<location>c:\apache-tomcat-5.5.29\webapps\data\</location>
<max-file-size>20848820</max-file-size>
<max-request-size>418018841</max-request-size>
<file-size-threshold>1048576</file-size-threshold>
</multipart-config>
<welcome-file-list>
<welcome-file>FirstPage.html</welcome-file>
</welcome-file-list>
</web-app>

firstPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900"
rel="stylesheet" />
<link href="default.css" rel="stylesheet" type="text/css" media="all" />
<link href="fonts.css" rel="stylesheet" type="text/css" media="all" />

<!--[if IE 6]><link href="default_ie6.css" rel="stylesheet" type="text/css" /><![endif]-->

</head>
<body>
<div id="header-wrapper">
<div id="header" class="container">
<div id="logo">
<h1><a href="#">Student/Teacher Login</a></h1>
</div>
</div>

3
Sunny Shah
130410107114

</div>
<div id="page" class="container">
<div id="content">
<div class="title">
<h2>Sign Up</h2>
</div>
<form action="createAcc" method="POST">
<p> Name: <input type="text" name="username"/></p>
<p> Password: <input type="password" name="password"/></p>
<p> Confirm Password: <input type="password" name="password1"/></p>
<p><input type="radio" value="Student" name="login"> Student </p>
<p><input type="radio" value="Teacher" name="login"> Teacher </p>
<p><input type="submit" value="Sign Up"/></p>
</form>
</div>
<div id="sidebar">
<div class="box1">
<div class="title">
<h2>Sign In</h2>
</div>
<form action="validate" method="POST">
<p> Name: <input type="text" name="username"/></p>
<p> Password: <input type="password" name="password"/></p>
<p><input type="radio" value="Student" name="login"> Student </p>
<p><input type="radio" value="Teacher" name="login"> Teacher </p>
<p><input type="submit" value="Log In"/></p>
</form>
</div>
</div>

</div>

</body>
</html>
3)Student.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>

4
Sunny Shah
130410107114

<meta name="keywords" content="" />


<meta name="description" content="" />
<link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900"
rel="stylesheet" />
<link href="default1.css" rel="stylesheet" type="text/css" media="all" />
<link href="fonts.css" rel="stylesheet" type="text/css" media="all" />

<!--[if IE 6]><link href="default_ie6.css" rel="stylesheet" type="text/css" /><![endif]-->

</head>
<body>
<div id="header-wrapper">
<div id="header" class="container">
<div id="logo">
<h1><a href="#">Student Profile</a></h1>
</div>

</div>
</div>
<div id="page" class="container">
<div id="content">
<div class="title">
<h2>Submission</h2>
</div>
<form action="student" method="POST" enctype="multipart/form-data">
<p> Upload a file for submission : </p>
<p> Assignment Name : <input type="text" name="nof"></input></p>
<p><input type="file" name="file1"></input></p>
<p><input type="submit" value="Submit"></input></p>
</form>
</div>
<div id="sidebar">
<div class="box1">
<div class="title">
<h2>Profile</h2>
</div>
<ul class="style1">

<li><a href="student2">Submission</a></li>
<li><a href="student1">Assignments</a></li>
</ul>
</div>

5
Sunny Shah
130410107114

</div>
</div>
</body>
</html>

3)student1.html
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->

<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>TODO write content</div>
</body>
</html>

4)Teacher.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />

6
Sunny Shah
130410107114

<link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900"
rel="stylesheet" />
<link href="default1.css" rel="stylesheet" type="text/css" media="all" />
<link href="fonts.css" rel="stylesheet" type="text/css" media="all" />

<!--[if IE 6]><link href="default_ie6.css" rel="stylesheet" type="text/css" /><![endif]-->

</head>
<body>
<div id="header-wrapper">
<div id="header" class="container">
<div id="logo">
<h1><a href="#">Teacher Profile</a></h1>
</div>

</div>
</div>
<div id="page" class="container">
<div id="content">
<div class="title">
<h2>Assignments</h2>
</div>
<form action="teacher" method="POST" enctype="multipart/form-data">
<p> Upload new assignment : </p>
<p> Assignment Name : <input type="text" name="nof"></input></p>
<p><input type="file" name="file1"></input></p>
<p><input type="submit" value="Submit"></input></p>
</form>
</div>
<div id="sidebar">
<div class="box1">
<div class="title">
<h2>Profile</h2>
</div>
<ul class="style1">

<li><a href="teacher1">Students' Submission</a></li>


<li><a href="teacher2">Assignments</a></li>
</ul>
</div>
</div>
</div>

7
Sunny Shah
130410107114

</body>
</html>

5)Teacher1.html
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>TODO write content</div>
</body>
</html>

6)createAcc.java

import java.io.*;
import java.sql.*;
import javax.servlet.http.*;
import javax.servlet.*;

public class createAcc extends HttpServlet {

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root",
"root");

8
Sunny Shah
130410107114

String username = request.getParameter("username");


String password = request.getParameter("password");
String password1 = request.getParameter("password1");
String type = request.getParameter("login");
if(!password.equals(password1))
{
out.println("The passwords don't match. Please sign up again.");
RequestDispatcher rd = request.getRequestDispatcher("FirstPage.html");
rd.include(request, response);

}
String sql = "INSERT INTO check1(Name,Password,Type) values (?, ?, ?)";
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, username);
statement.setString(2, password);
statement.setString(3, type);
statement.executeUpdate();
out.println("<h2>Account Successfully Created! Please log in.<h2>");
RequestDispatcher rd = request.getRequestDispatcher("FirstPage.html");
rd.include(request, response);
statement.close();
con.close();
}
catch(Exception e)
{
System.out.println(e);
}

finally {
out.close();
}
}
}

6)student.java

import java.sql.*;
import java.io.*;
import java.io.PrintWriter;
import java.sql.DriverManager;

9
Sunny Shah
130410107114

import java.util.logging.Logger;
import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;
@MultipartConfig
public class student extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root",
"root");
ServletContext sc1 = request.getServletContext();
String name = (String)sc1.getAttribute("username");
String nof = request.getParameter("nof");
Part filePart = request.getPart("file1");
InputStream inputStream = filePart.getInputStream();
String sql = "INSERT INTO Student.file(Name,Filename,File) values(?, ?, ?)";
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, name);
statement.setString(2, nof);
if (inputStream != null) {
statement.setBlob(3,inputStream);
} else {
statement.setNull(3, java.sql.Types.BLOB);
}
statement.executeUpdate();
out.println("<h3>"+name+ " logged in.File Uploaded.<h3>");
RequestDispatcher rd = request.getRequestDispatcher("student2");
rd.include(request, response);
statement.close();
con.close();

}
catch(Exception e)
{
System.out.println(e);
}

10
Sunny Shah
130410107114

finally {
out.close();
}
}
}

7)student1.java

import java.io.*;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class student1 extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root",
"root");
String sql = "select * from filet";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt = con.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
ServletContext sc1 = request.getServletContext();
String name = (String)sc1.getAttribute("username");

out.println("<h3>"+name+ " logged in<h3>");

out.println("<!DOCTYPE html>");
out.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
"<head>\n" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n" +

11
Sunny Shah
130410107114

"<link href=\"http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900\"
rel=\"stylesheet\" />\n" +
"<link href=\"default1.css\" rel=\"stylesheet\" type=\"text/css\" media=\"all\" />\n" +
"</head>\n" +
"<body>");
out.println("<div id=\"header-wrapper\">\n" +
" <div id=\"header\" class=\"container\">\n" +
" <div id=\"logo\">\n" +
" <h1><a href=\"#\">Student Profile</a></h1>\n" +
" </div>\n" +
" \n" +
" </div>\n" +
"</div>");
out.println("<div id=\"page\" class=\"container\">\n" +
" <div id=\"content\">\n" +
" <div class=\"title\">\n" +
" <h2>Assignments</h2>\n" +
" </div>");

int i=0;
while(rs.next())
{
i++;
out.println("<p>Name : "+rs.getString(1));
out.println("<p>File Name : "+rs.getString(2));
out.println("<p>File type : " +rs.getBlob(3));
out.println("<p>File stored at location. <br><br>");
File txt = new File("D:\\student\\file"+i+".txt");
FileOutputStream fos = new FileOutputStream(txt);

byte[] buffer = new byte[1];


InputStream is = rs.getBinaryStream(3);
while (is.read(buffer) > 0) {
fos.write(buffer);
}
}
out.println("</div>\n" +
" <div id=\"sidebar\">\n" +
" <div class=\"box1\">\n" +
" <div class=\"title\">\n" +
" <h2>Profile</h2>\n" +
" </div>\n" +

12
Sunny Shah
130410107114

" <ul class=\"style1\">\n" +


" \n" +
" <li><a href=\"student2\">Submission</a></li>\n" +
" <li><a href=\"student1\">Assignments</a></li>\n" +
" </ul>\n" +
" </div>\n" +
" </div>\n" +
"</div>\n" +
"</body>\n" +
"</html>");

}
catch(Exception e){
System.out.println(e);
}
finally {
out.close();
}
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to


edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response

13
Sunny Shah
130410107114

* @throws ServletException if a servlet-specific error occurs


* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>

8)student2.java

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;

public class student2 extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
ServletContext sc = request.getServletContext();
String username = (String)sc.getAttribute("username");
out.println(username + " logged in.");
RequestDispatcher rd = request.getRequestDispatcher("student.html");
rd.include(request, response);
} finally {
out.close();

14
Sunny Shah
130410107114

}
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to


edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>}

15
Sunny Shah
130410107114

9)teacher.java

import java.sql.*;
import java.io.*;
import java.io.PrintWriter;
import java.sql.DriverManager;
import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;
@MultipartConfig
public class teacher extends HttpServlet {

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root",
"root");
ServletContext sc1 = request.getServletContext();
String name = (String)sc1.getAttribute("username");
String nof = request.getParameter("nof");
Part filePart = request.getPart("file1");
InputStream inputStream = filePart.getInputStream();
String sql = "INSERT INTO filet(Name,Filename,File) values (?, ?, ?)";
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, name);
statement.setString(2, nof);
if (inputStream != null) {
statement.setBlob(3, inputStream);
} else {
statement.setNull(3, java.sql.Types.BLOB);
}
statement.executeUpdate();
out.println("<h3>"+name+ " logged in. File Uploaded.<h3>");
RequestDispatcher rd = request.getRequestDispatcher("teacher.html");
rd.include(request, response);

16
Sunny Shah
130410107114

statement.close();
con.close();

}
catch(Exception e)
{
System.out.println(e);
}
finally {
out.close();
}
}
}

10)teacher1.java

import java.io.*;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class teacher1 extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root",
"root");
String sql = "select * from file";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt = con.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
ServletContext sc1 = request.getServletContext();
String name = (String)sc1.getAttribute("username");

17
Sunny Shah
130410107114

out.println("<h3>"+name+ " logged in<h3>");

out.println("<!DOCTYPE html>");
out.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
"<head>\n" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n" +
"<link href=\"http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900\"
rel=\"stylesheet\" />\n" +
"<link href=\"default1.css\" rel=\"stylesheet\" type=\"text/css\" media=\"all\" />\n" +
"</head>\n" +
"<body>");
out.println("<div id=\"header-wrapper\">\n" +
" <div id=\"header\" class=\"container\">\n" +
" <div id=\"logo\">\n" +
" <h1><a href=\"#\">Teacher Profile</a></h1>\n" +
" </div>\n" +
" \n" +
" </div>\n" +
"</div>");
out.println("<div id=\"page\" class=\"container\">\n" +
" <div id=\"content\">\n" +
" <div class=\"title\">\n" +
" <h2>Students' submission</h2>\n" +
" </div>");

int i=0;
while(rs.next())
{
i++;
out.println("<p>Name : "+rs.getString(1));
out.println("<p>File Name : "+rs.getString(2));
out.println("<p>File type : " +rs.getBlob(3));
out.println("<p>File stored at location. <br><br>");
File txt = new File("D:\\teacher\\file"+i+".txt");
FileOutputStream fos = new FileOutputStream(txt);

byte[] buffer = new byte[1];


InputStream is = rs.getBinaryStream(3);
while (is.read(buffer) > 0) {
fos.write(buffer);
}
}

18
Sunny Shah
130410107114

out.println("</div>\n" +
" <div id=\"sidebar\">\n" +
" <div class=\"box1\">\n" +
" <div class=\"title\">\n" +
" <h2>Username</h2>\n" +
" </div>\n" +
" <ul class=\"style1\">\n" +
" \n" +
" <li><a href=\"teacher1\">Students' Submission</a></li>\n" +
" <li><a href=\"teacher2\">Assignments</a></li>\n" +
" </ul>\n" +
" </div>\n" +
" </div>\n" +
"</div>\n" +
"</body>\n" +
"</html>");

}
catch(Exception e){
System.out.println(e);
}
finally {
out.close();
}
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to


edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

19
Sunny Shah
130410107114

/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>

}
11)teacher2.java

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;

public class teacher2 extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {

20
Sunny Shah
130410107114

ServletContext sc = request.getServletContext();
String username = (String)sc.getAttribute("username");
out.println(username + " logged in.");
RequestDispatcher rd = request.getRequestDispatcher("teacher.html");
rd.include(request, response);
} finally {
out.close();
}
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to


edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Returns a short description of the servlet.

21
Sunny Shah
130410107114

*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>

}
12)validate.java

import java.io.*;
import java.sql.*;
import java.sql.DriverManager;
import javax.servlet.http.*;
import javax.servlet.*;
public class validate extends HttpServlet {

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String username = request.getParameter("username");
String password = request.getParameter("password");
String pt = request.getParameter("login");
ServletContext sc = request.getServletContext();
sc.setAttribute("name", username);
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root",
"root");
String sql = "select * from check1";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt = con.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
int flag=0;
while(rs.next())
{
if(username.equals(rs.getString(1)))
{

22
Sunny Shah
130410107114

if(password.equals(rs.getString(2)))
{
if(pt.equals(rs.getString(3)))
{ flag = 1;
}
}
}
}
if(flag == 0)
{
out.println("Incorrect username, password or account type.");
RequestDispatcher rd = request.getRequestDispatcher("FirstPage.html");
rd.include(request, response);
}
else if(pt.equals("Student"))
{
out.println(username+" logged in.");
RequestDispatcher rd = request.getRequestDispatcher("student.html");
rd.include(request, response);
}
else
{
out.println(username+" logged in.");
RequestDispatcher rd = request.getRequestDispatcher("teacher.html");
rd.include(request, response);
}
ServletContext sc1 = request.getServletContext();
sc1.setAttribute("username", username);
sc1.setAttribute("password", password);
}
catch(Exception e){
System.out.println(e);
}
finally {
out.close();
}
}
}

23
Sunny Shah
130410107114

Output:

24
Sunny Shah
130410107114

25
Sunny Shah
130410107114

26
Sunny Shah
130410107114

27
Sunny Shah
130410107114

28
Sunny Shah
130410107114

29
Sunny Shah
130410107114

30
Sunny Shah
130410107114

31

You might also like