Online Exam Portal
Online Exam Portal
SUBMITTED BY
Name
TO
SIKKIM MANIPAL UNIVERSITY FOR THE PARTIAL FULLFILLMENT OF THE MSCIT DEGREE
1
DECLARATION
I hereby declare that the project synopsis entitled “Online Examination/Test Portal” submitted
by me to the Computer Science and Engineering Department Students college name in partial
fulfilment of the requirement for the award of the degree of Bachelor of Technology in
Computer Science and Engineering is a record of bonafide project work carried out by me under
the supervision of Professor Name Computer Science and Engineering Department.
NAME
Roll number
Course name
2
ACKNOWLEDGEMENT
Now that the project is complete, it’s my profound to express my most sincere gratitude to some
person without whom this report file could never have been possible.
Firstly I would like to express my deep sense of gratitude and heartiest thanks to my report file
“Professor Name” guide for providing all the guidance, valuable suggestions and timely help
during the course of this training report file. I would like to express my independent for his
insuring. Attitude, encouragement, advice, helps valuable supervision through preparation of this
training reporting file. He not only infused in me best shill and guidance in the fields but also
invoked in me a spirit to undertake the project in his prospective and to complete it successfully.
I shall be glad to acknowledge all my friends for their co-operation in the completion of this
project synopsis.
3
CERTIFICATE
This is to certify that the project synopsis entitled “Online Examination/Test Portal” has been
submitted by NAME under my guidance in partial fulfillment of the degree of Bachelor of
Technology in Computer Science and Engineering of College NAME during the academic year
2016-2017(Semester-VIII).
4
TABLE OF CONTENT
1) INTRODUCTION………………………………………….……...
1.1 MISSION
2) OBJECTIVE OF PROJECT………………………….……...……
3) DESIGN TOOLS………………………………….…………….….
3.2 JSP
3.2 WAMP
3.3 MY SQL
3.4 HTML
5) SR SPECIFICATION
6) DFD……………………..…………………………………………...
5
7) E-R DIAGRAM……………………..…………………………………
8) CODING………………………………………………………………
10) CONCLUSION
11) BIBLIOGRAPHY
6
1. INTRODUCTION
Online Exam/Test portal is the best mode to track the students' capabilities and test them, propel
them in high levels to act their best in the next attack. Online Exam portal not only looking into
the down marks of students, but also assisting the students and educational institutes transcend
geographical boundaries and time restraints in the chore of constant evaluation of pupil
functioning. The online Exam Portal provides intensive tools to administer, monitor and grade
exams on-line. Online Exam portal is primary want for colleges, universities, teachers,
professors, Employees, Partners, Technicians, web site Members, the overall Public, or anyone
you would like to allow secure access to your Content. Recruiting agencies. it's terribly helpful
for folks within the educational development of children to enhance their instructional skills.
1.1 Mission
Online Exams System fulfills the requirements of the institutes to conduct the exams online.
They do not have to go to any software developer to make a separate site for being able to
conduct exams online. They just have to register on the site and enter the exam details and the
lists of the students which can appear in the exam. Students can give exam without the need of
going to any physical destination. They can view the result at the same time. Thus the purpose of
the site is to provide a system that saves the efforts and time of both the institutes and the
students.
7
Also like other online websites, it will help students by:
Saving the extra time of going to far away Exam Centre.
Students need not wait for their results.
The institutes will register themselves with a unique login name and password, the unique id will
be issued to the institutes by the website.
To provide an interface through which student can appear for examination online for
objective type questions.
When the student starts the exam the timer will start automatically and show the
student how much time is left.
The questions will be display from question bank of the subject they want to give.
Objective answers will be checked automatically by the system from the database
8
3. Design tools:
3.1 JAVA:-
The original and reference implementation Java compilers, virtual machines, and class libraries
with originally released by sun under proprietary licenses.
The latest version is java 8 update 121 which is the only version currently supported for free by
Oracle. Although earlier version are supported both by oracle and other companies on a
commercial basis.
3.2 WAMP:-
WAMP is an acronym formed from the initials of the operating system Microsoft Windows and
the principal components of the package: Apache, MySQL and one of PHP, Perl or Python.
Apache is a web server. MySQL is an open-source database. PHP is a scripting language that can
manipulate information held in a database and generate web pages dynamically each time
content is requested by a browser. Other programs may also be included in a package, such
as php My Admin which provides a graphical user interface for the MySQL database manager,
or the alternative scripting languages Python or Perl. Equivalent packages are MAMP (for
the Apple Mac) and LAMP (for the Linux operating system).
3.2JSP :-
9
Javaserver Pages (JSP) is a server-side programming technology that enables the creation of
dynamic, platform-independent method for building Web-based applications. JSP have access to
the entire family of Java APIs, including the JDBC API to access enterprise databases. This
tutorial will teach you how to use Java Server Pages to develop your web applications in simple
and easy steps.
3.3MySQL :-
It is the world's most used open source relational database management system (RDBMS) that
runs as a server providing multi-user access to a number of databases.It is named after co-
founder Michael Widenius' daughter, My. The SQL phrase stands for Structured Query
Language. The MySQL development project has made its source code available under the terms
of the GNU General Public License, as well as under a variety of proprietaryagreements.
MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL
AB, now owned by Oracle Corporation.
3.4 HTML:-
HTML documents are composed entirely of HTML elements that, in their most general form
have three components: a pair of tags, a "start tag" and "end tag"; some attributes within the
start tag; and finally, any textual and graphical content between the start and end tags, perhaps
including other nested elements. The HTML element is everything between and including the
start and end tags. Each tag is enclosed in angle brackets.
10
The general form of an HTML element is therefore: <tag attribute1="value1"
Most of the attributes of an element are name-value pairs, separated by "=" and written within
the start tag of an element after the element's name. The value may be enclosed in single or
double quotes, although values consisting of certain characters can be left unquoted in HTML
(but not XHTML. Leaving attribute values unquoted is considered unsafe.
3.5 JavaScript:-
“A scripting language developed by Netscape to enable Web authors to design interactive sites.
Although it shares many of the features and structures of the full Java language, it was developed
independently.” (JavaScript). In 1993, the National Center for Supercomputing Applications
(NCSA), a unit of the University of Illinois at Urbana-Champaign, released NCSA Mosaic, the
first popular graphical Web browser, which played an important part in expanding the growth of
the nascent World Wide Web. In 1994, a company called Mosaic Communications was founded
in Mountain View, California and employed many of the original NCSA Mosaic authors to
create Mosaic Netscape. However, it intentionally shared no code with NCSA Mosaic. The
internal.
JavaScript has a small number of built-in objects, including Function and Date.
Functional:-
11
local variable, or argument value) becomes part of the internal state of each inner function
object, even after execution of the outer function concludes.
i) Clients Registration
This module provides the administrator, clients and students with a graphical interface to get
registered for using all the facilities related to tourism. The registered user later can change
the password anytime and any number of time.
The module allows registered users to use the application and new users have to register first.
iii) Home
This module provide the all options for each test which is available in this site. On this page
we have various options like C, C++, Java ,C#, Python . any of them we want to give test we
can..
12
Software Requirement Specification (SRS)
The waterfall model is a popular version of the systems development life cycle model for
software engineering. Often considered the classic approach to the systems development
life cycle, the waterfall model describes a development method that is linear and
sequential. Waterfall development has distinct goals for each phase of development.
Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the
edge of the cliff and has begun its journey down the side of the mountain, it cannot turn
back. It is the same with waterfall development. Once a phase of development is
completed, the development proceeds to the next phase and there is no turning back.
• It is easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
• In this model phases are processed and completed one at a time. Phases do not overlap.
• Waterfall model works well for smaller projects where requirements are very well
understood.
13
6. Data Flow Diagram
The Data flow Diagram shows the flow of data. It is generally made of symbols given
below:
DFD LEVEL-0
14
DFD LEVEL-1
DFD LEVEL-2
15
7. ER DIAGRAM
16
8. CODING :-
17
User
index.html(HomePage)
<!DOCTYPE HTML>
<html>
<head>
<title>Online examination System.</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="all" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--slider-->
</div>
<div class="clear"></div>
</div>
</div>
<div class="header-bottom">
<div class="wrap">
<div id='cssmenu'>
<ul>
<li class='active'><a
href='index.html'><span>Home</span></a></li>
</ul>
</li>
<li><a href='reg.jsp'><span>Sign Up</span></a></li>
<li><a href='about.jsp'><span>About</span></a></li>
<li class='last'><a href='contact
us.jsp'><span>Contact</span></a></li>
<div class="clear"></div>
</ul>
</div>
</div>
</div>
</div>
<!------ Slider ------------>
18
<div class="slider">
<div class="wrap">
<div class="slider-wrapper theme-default">
<div id="slider" class="nivoSlider">
<img src="images/banner2.jpg" alt="" />
<img src="images/banner1.jpg" alt="" />
<img src="images/banner3.jpg" alt="" />
<img src="images/banner4.jpg" alt="" />
<img src="images/banner5.jpg" alt="" />
</div>
</div>
</div>
</div>
<!------End Slider ------------>
<div class="footer-bottom">
<div class="wrap">
<div class="copy">
<p><font color="white">© Online Examination System.</p></font>
</div>
</div>
</div>
</body>
</html>
loginprocess.jsp(Login Page)
catch(Exception e)
{
out.println(e);
}
session.setAttribute("sname",s1);
session.setAttribute("sname1",s3);
%>
<hr><center><tr>
<td align="center">
<a href="index.html">Home</a> | <a
href="logout.jsp">Logout</a>
</td>
</tr></center><hr>
19
</body>
</html>
20
color:white;
font-weight:bold;
box-shadow:5px 5px 10px gray;
}
fieldset
{
width:80%;
margin-left:10%;
border-radius:3px;
overflow:auto;
background:white;
}
legend
{
border:1px solid black;
padding:5px;
background:#6666ff;
color:white;
border-top-right-radius:1em;
border-bottom-right-radius:1em;
}
.next:hover{background:white;color:blue;border:2px solid blue;}
= "Welcome   " +name %> <%=name1%></b></center>
<div style="height:16%">
<a href="logout.jsp"><div class="logout">LOGOUT</div></a>
</div>
<a href="help.jsp"><div class="help">HELP</div></a>
</div>
<hr>
<br><br>
<fieldset><legend>Test Direction</legend>
<pre>Your test will be start in few minute.Please go through the instructions carefully will also
be accessible using the 'HELP' button the whole duration of the Exam.
</pre>
<p>Your Exam ID for this exam is <b><%=name1%></b>Please note it down at a secure
place for future reference.</p>
<hr>
<h3>Instructions:</h3>
<ol type="1">
<li> Each module has a fixed number of questions and an alloted time.The time remaining for
the module is shown
on the <b>right corner</b> of the screen throughout the exam.</li>
21
<li>You may take an <b>Emergency Break</b> at any other Time.However the time will
<b>Not</b> stop in such
cases.</li>
<li>Be at your seat until the completion of the exam. Don't talk and do not indulge any
cheating. Your candidature may be <b>Cancelled</b> for any infractions.</li>
<li>In case of any problem with the question please <b>Note</b> down it for share it with us
with email after
you finish your test.</li>
</ol>
<ol type="1">
<h3>How to answer the question:</h3>
<li>Each question has direction on how to answer the question.</li>
<li>you can chose the appropriate answer by clicking the checkbox on it.</li>
<li>Once you have completed the Exam, press the submit button</li>
</ol>
</fieldset>
<br>
<center>
<input class="next" type="submit" value="Proceed">
</center>
</form>
</body>
</html>
setInterval(function () {
$('#slideshow > div:first')
.fadeOut(1000)
.next()
.fadeIn(1000)
22
.end()
.appendTo('#slideshow');
}, 3000);
</script>
<style>
#slideshow {
position: relative;
height:200px;
width:100%;
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid #e7e7e7;
background-color: #f3f3f3;
}
li {
float: left;
border:2px solid gray;
}
li a {
display: block;
color: #666;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover:not(.active) {
background-color: #ddd;
}
23
li a.active {
color: white;
background-color: #4CAF50;
}
footer {
background-color:black;
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
<title>Welcome User</title>
</head>
<body>
<div>
<img src="images/std5.jpg" width="1348px" height="200px" />
</div>
24
<div>
<img src="images/std6.jpg" width="1348px" height="200px" />
</div>
</div><hr>
<ul>
<li><a class="active" href="index.html">HOME</a></li>
<li><a href="test.jsp">GIVE EXAM</a></li>
<%out.print("<li><a href='change.jsp?id="+id+"'>CHANGE PASSWORD</a></li>");%>
<li><a href="contact us.jsp">CONTACT</a></li>
<li><a href="help.jsp">HELP</a></li>
<li><a href="logout.jsp">LOGOUT</a></li>
</ul>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<footer>
Copyright © Online Examination System.
</footer>
</body>
</html>
Test.jsp
<html>
<head>
<title>Online Examination System</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/jquery-1.12.0.min.js"></script>
<script>
$("#slideshow > div:gt(0)").hide();
setInterval(function () {
$('#slideshow > div:first')
.fadeOut(1000)
.next()
.fadeIn(1000)
.end()
.appendTo('#slideshow');
}, 3000);
</script>
<style>
#slideshow {
position: relative;
height:200px;
width:100%;
25
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid #e7e7e7;
background-color: #f3f3f3;
}
li {
float: left;
border:2px solid gray;
}
</style>
</head>
<body>
<form>
<table border=10 cellspacing=0 cellpadding=0 width="100%">
<tr>
<td bgcolor=#5F9EA0><b><font color=#F08080 size=3 face=roman
center>
<marquee behavior="alternate" onmouseover=this.stop()
onmouseout=this.start()><font color=white size=4><%
String name =(String)("sname");
String r1=(Str)session.getAttribute(");
%>
<%= "Welcome   " +name
%></font></marquee></font></b></td></tr></table>
<div id="slideshow">
<div>
<img src="images/std1.jpg" width="1348px" height="200px" />
</div>
<div>
<img src="images/std2.jpg" width="1348px" height="200px" />
</div>
<div>
26
<img src="images/std3.jpg" width="1348px" height="200px" />
</div>
<div>
<img src="images/std5.jpg" width="1348px" height="200px" />
</div>
<div>
<img src="images/std6.jpg" width="1348px" height="200px" />
</div>
</div><hr>
<ul>
<li><a class="active" href="index.html">HOME</a></li>
<%
int e1=1;
int e2=2;
int e3=3;
int e4=4;
int e5=5;
out.print("<li><a href='jsp?id="+e1+"'>C++</a></li>");
out.print("<li><a href='jjsp?id="+e2+"'>JAVA</a></li>");
out.print("<li><a href='jsp?id="+e3+"'>C#</a></li>");
out.print("<li><a href='jsp?id="+e4+"'>PYTHON</a></li>");
out.print("<li><a href='c.jsp?id="+e5+"'>C</a></li>");%>
<ul style="float:right;list-style-type:none;">
<li><a href="contact us.jsp">CONTACT</a></li>
<li><a href="help.jsp">HELP</a></li>
<li><a href="logout.jsp">LOGOUT</a></li>
</ul>
</ul><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br>
<footer>
Copyright © Online Examination System.
</footer>
</form>
</body>
</html>
background:black;
color:white;
font-weight:bold;
box-shadow:5px 5px 10px gray;
}
fieldset
{
27
width:80%;
margin-left:10%;
border-radius:3px;
overflow:auto;
background:white;
}
legend
{
border:1px solid black;
padding:5px;
background:#6666ff;
color:white;
border-top-right-radius:1em;
border-bottom-right-radius:1em;
}
.next:hover{background:white;color:blue;border:2px solid blue;}
.next
{
margin-left:10px;
border:1px solid black;
padding:10px;
background:#6666ff;
color:white;
width:10%;
border-radius:20px;
font-weight:bold;
}
#t
{
float:right;
}
</style>
</head>
<body>
<div id="t">
<jsp:include page="t.html"/>
</div>
<form action="cppRes.jsp" method="post"/>
<%
String =request.getParameter("name");
String s2=request.getParameter("id");
String d=(String)sessiotribute("ame");
28
String r1=(String)session.g("sname1");
%>
<center><h2><%=dd%></h2>
<h2><%=r1%></h2></center>
<table border="3">
<td>
<img src="cpp.png" style="float:left" width="220" height="130"></td>
<hr>
<fieldset><legend>Questions</legend>
<h3><center>C++ Programming</center></h3>
<hr>
<%
try{
Class.forName("sun..JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc::project", "", "");
Statement st = con.createStatement();
ResultSet rs;
rs = st.executeQuery("select question,tio,optio from test1 where question_no = '1'") ;
while(rs.next())
{
out.println("Q.1)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
out.println("<li><input type='radio' name='cppvalue='r1' />"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cp1' value='r2' />"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp' value='r3' />"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='c1' value='r4' />"+rs.getString(5)+"<br><br></li>");
}
out.print("</ol>");
out.print("<hr/>");
rs = st.executeQuery("select question,option1,option2,option3,option4 from test1 where
question_no = '2'") ;
while(rs.next()){
out.println("Q.2)<b>"+rs.getString(1)+"</b>");
29
out.println("<ol type='A'>");
}
out.print("</ol>");
out.print("<hr/>");
rs = st.executeQuery("select question,option1,orom test1 where question_no = '4'") ;
while(rs.next()){
out.println("Q.4)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
out.println("<li><input type='radio' name='cpp4' value='r1'
/>"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp4' value='r2'
/>"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp4' value='r3'
/>"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp4' value='r4'
/>"+rs.getString(5)+"<br><br></li>");
}
out.print("</ol>");
out.print("<hr/>");
rs = st.executeQuery("select question,option1,option2,option3,option4 from test1 where
question_no = '5'") ;
while(rs.next()){
out.println("Q.5)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
out.println("<li><input type='radio' name='cpp5' value='r1'
/>"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp5' value='r2'
/>"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp5' value='r3'
/>"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp5' value='r4'
/>"+rs.getString(5)+"<br><br></li>");
}
out.print("</ol>");
out.print("<hr/>");
rs = st.executeQuery("select question,option1,option2,option3,option4 from test1 where
question_no = '6'") ;
while(rs.next()){
out.println("Q.6)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
30
out.println("<li><input type='radio' name='cpp6' value='r1'
/>"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp6' value='r2'
/>"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp6' value='r3'
/>"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp6' value='r4'
/>"+rs.getString(5)+"<br><br></li>");
} out.print("</ol>");
out.print("<hr/>");
} out.print("</ol>");
out.print("<hr/>");
} out.print("</ol>");
out.print("<hr/>");
31
rs = st.executeQuery("select question,option1,option2,option3,option4 from test1 where
question_no = '9'") ;
while(rs.next()){
out.println("Q.9)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
out.println("<li><input type='radio' name='cpp9' value='r1'
/>"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp9' value='r2'
/>"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp9' value='r3'
/>"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp9' value='r4'
/>"+rs.getString(5)+"<br><br></li>");
} out.print("</ol>");
out.print("<hr/>");
32
</html>
<%!
String r1;
String dd;
String s11;
String s5;
Connection con;
ResultSet rs;
PreparedStatement st1;
Statement st;
int i1;
%>
<%dd=(String)session.getAttribute("sname");%>
<%r1=(String)session.getAttribute("sname1");%>
<%
try
{
//out.println(request.getParameter("v"));
i1=Integer.parseInt(request.arameter(""));
// int value =Integer.parseInt(requer("value"));
Class.forName("sr");
con=Drager.getConnection("jdbjet");
st1=con.prepareStatement("select efhere E_id=?");
st1.setInt(1,);
rs=st1.executeQuery();
// out.println(value);
while(rs.next())
{
s11=rsgetString");
}
}
catch(NumberFormatException er)
{
out.println(er);
}
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
33
<a href="index.html">Home</a>|<a href="logout.jsp">Logout</a>
</div>
<br><br><br><br><br>
</tr>
<tr>
<td class="auto-style5">Student Name:</td>
<td class="auto-style3">
<input type="text" name="n" value="<%=dd%>"/>
</td>
</tr>
<tr>
<td class="auto-style5">Student ID:</td>
<td class="auto-style3">
<input type="text" name="id" value="<%=r1%>"/>
</td>
</tr>
<tr>
<td class="auto-style5">Given Exam:</td>
<td class="auto-style3">
<input type="text" name="ex" value="<%=s11%>"/>
</td>
</tr>
<tr>
<td class="auto-style5">Total Questions:</td>
<td class="auto-style3">
<input type="text" name="que" value="10" disabled="disabled"/>
</td>
</tr>
<tr>
<tr>
<td class="auto-style5">Marks Obtained</td>
<td class="auto-style3"><input type="text" name="m" value="<%
String s1=request.getParameter("cpp1");
String s2=request.getParameter("c;
String s35=request.getParameter("p");
String s4=request.getParameter("c4");
c");
34
String s0=request.getParameter("p");
String s9=request.getParameter("cp7");
String s8=request.getParameter("p;
String s9=request.getParameter("cpp9");
String s10=request.getParameter("p10");
con=DriverManager.getConnection("jdbc:odbc:project");
st=con.createStatement();
if(s7.equals("r1"))
{
count=count+1;
}
if(s8.equals("r4"))
{
count=count+1;
}
if(s9.equals("r1"))
{
count=count+1;
}
if(s10.equals("r2"))
{
count=count+1;
}
out.println(count);
%>" /></td>
</tr>
<tr>
<td class="auto-style5">Remark:</td>
<td class="auto-style3">
<input type="text" name="re" value="<%if(count<5)
{
out.print("Fail");
s5="fail";
}
else
{
out.print("Pass");
s5="pass";
}%>" />
35
</td>
</tr>
</table>
<%
table, th, td
{
border: 1px solid #333;
}
</style>
</head>
<body bgcolor="wheat">
<% String name1=(String)session.getAttribute("sname1");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:project", "", "");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select s.Fname, s.s_id ,
s.Uname,s.DOB,s.Gender,s.Date,r.E_id,r.marks_obtained,r.remarks from students s INNER JOIN
res r ON s.s_id=r.s_id where s.s_id= "+name1+"");
%>
36
<table border="1">
<tr>
<td>Student Name</td><td>Student ID</td><td>User Name</td><td>DOB</td>
<td>Gender</td><td>Given Exam Date</td><td>Exam ID</td><td>Marks
Obtained</td><td>Remark</td>
</tr>
<%
while(rs.next())
{
String sf=rs.getString("Fn");
int si=rs.getInt("s_id")
String su=rs.getString("Ume");
String sd=rs.getString("DB");
String se=rs.getString("Ger");
String sdt=rs.getString("Date");
int s2=rs.getInt("E_);
int s3=rs.getInt_obtaind");
String s4=rs.getString("rrks");
//String s5=rs.getString("ate");
%>
<tr><td><%=sf%></td><td><%=si%></td><td><%=su%></td><td><%=sd%></td><td><%=se
%></td>
<td><%=sdt%></td><td><%=s2%></td><td><%=s3%></td><td><%=s4%></td></tr>
<%
}
}
catch(Exception e)
{
out.println(e);
}
%>
</table>
<div id="s">
<center><a href="index.html">Home</a> | <a
href="logout.jsp">Logout</a></center></div>
</body>
</html>
37
<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Got Password??</title>
</head>
<body>
<%!
Connection con;
PreparedStatement ps ;
ResultSet rs ;
%>
<%
try
{
String Name = request.getParameter("name");
String ans = request.getParameter("s1");
if (ans == null && Name==null)
{
return;
}
{
out.println("<h1>Sorry! Security Answer does not match.</h1>");
}
else
{
String pwd = rs.getString("Pass");
out.print("Your Password is    "+pwd);
}
}
catch(Exception e)
{
out.print(e);
}
%>
<hr>
<center><a href="index.html">Home</a> | <a
href="logout.jsp">Logout</a></center>
<hr>
</body>
</html>
38
<!DOCTYPE html">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Logout Page</title>
</head>
<body>
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%
String dd=(String)session.getAttribute("sname");
String pwd=request.getParameter("ss");
String Newpass=request.getParameter("n");
String conpass=request.getParameter("firm");
{
out.println("<h2>Invalid Current Password</h1>");
}
}
catch(Exception e){
out.println(e);
}
%>
<hr>
<center><a href="index.html">Home</a> | <a
href="logout.jsp">Logout</a></center>
<hr>
</body>
</html>
39
ADMIN MANUAL
Admin
<style>
body
{
font: 16px Helvetica;
}
section {
width: 275px;
background: #ecf0f1;
padding: 0 30px 30px 30px;
margin: 60px auto;
text-align: center;
border-radius: 5px;
}
span {
display: block;
position: relative;
margin: 0 auto;
top: -40px;
height: 80px;
width: 80px;
background: url('images/admin.png') center center no-repeat, #f39c12;
border-radius: 50%;
40
}
h1 {
font-size: 24px;
font-weight: 100;
margin-bottom: 30px;
}
input {
width: 100%;
background: #bdc3c7;
border: none;
height: 30px;
margin-bottom: 15px;
border-radius: 5px;
text-align: center;
font-size: 14px;
color: #7f8c8d;
}
input:focus {
outline: none;
}
button {
width: 100%;
height: 30px;
border: none;
background: #3498db;
color: #ecf0f1;
font-weight: 100;
margin-bottom: 15px;
border-radius: 5px;
transition: all ease-in-out .2s;
border-bottom: 3px solid #2980b9;
}
button:focus {
outline: none;
}
button:hover {
background: #2980b9;
}
h2 {
font-size: .75em;
}
41
a{
color: #e74c3c;
text-decoration: none;
transition: all ease-in-out .2s;
}
a:hover {
color: #c0392b;
}
select{width: 100%;
background: #bdc3c7;
border: none;
height: 30px;
margin-bottom: 15px;
border-radius: 5px;
text-align: center;
font-size: 14px;
color: #7f8c8d;
}
select:focus{outline: none; background:white;color:black;
}
</style>
</head>
<body bgcolor="wheat">
<form action="" method="post">
<section>
<span></span>
<h1>Admin Login</h1>
<input placeholder='User Name' type='text' required name="uname" title="UserName">
<input placeholder='Password' type='password' required name="upass" title="Password">
<select name="s1">
<option>Select Your Security Question</option>
<option>What is favourite food?</option>
<option>Who is your favourite cricketer?</option>
<option>What is your pet name?</option>
</select>
<input type="password" name="ss" required placeholder="Your Answer"/>
<button title="Click Login Button">LOGIN</button></form>
<h2>
<a href='adfp.jsp'>Forgot Password?</a>
</h2>
</section>
</body>
</html>
42
User Manual
Index.html
reg.jsp
43
This is the Student Registration page where all the Students, are presented.
VALIDATIONS:
1. Student ID should contain at least 5 digit.
2. E-Mail address should be of the form “[email protected]”.
3. Passwords should be of minimum6 characters and must contain
1Uppercase, 1 Lowercase, 1 Digit.
Login.jsp
44
Instructions.jsp
45
This will page come after the successful login/registration where the student can
select the different menu.
test.jsp
cpp.jsp
46
This will come after the selection of CPP exammenu.
The timer present at right corner indicates the remaining time, when the time
is over the page will automatically close and session get terminates.
cppRes.jsp
47
Contact us.jsp (Feedback Page)
Here, the Student/User can contact with Admin and also give their feedback about
the website.
VALIDATIONS:-
1. The Customer should provide a valid E-Mail address.
fp.jsp
48
VALIDATIONS:-
1. The Customer should provide a valid username.
2. The Customer should provide a valid security answer.
change.jsp
49
Here the only registered student can access the page.
AddStudent.jsp
RemoveStudent.jsp
50
Here the only Admin can remove student.
addque.jsp
This page is about to update the question and only admin can do this.
newques.jsp
51
Purpose of this code:
This is the final page of our code.On this page user get its result for which the test is
given.
9. SECURITY MECHANISM
In the software security there are two levels of security. The 1st level of security, which is
provided by the FRONT END and 2nd level of security provided by the database which
is being used.
i) FRONT END: We have implemented JavaScript for all the Client side validations.
Client side JavaScript is designed to reside inside HTML document & ensure they run
properly. It is object based, event driven, platform independent. These are important parts
of any Web application to implement Client side Validations and the invalid data is not
submitted. The form is not submitted until user fills in correct data. It is extremely useful
ii) Back end: We have used MySQL as the Back end. MySql Server provides
- Large database and space management. - Many concurrent database users. - Industry
52
LOGIN CHECKING:
There are two login’s are provided in this website one for customer/students and one for
administrator. In order to avail the services of customer have to provide a valid id and
password & username and only after entering correct id and password customer will get
entry otherwise they will be blocked from accessing any services of this site.
53
Conclusion
This Web Application provides facility to conduct online examination world wide. It saves time
as it allows number of students to give the exam at a time and displays the results as the test gets
over, so no need to wait for the result. It is automatically generated by the server. Administrator
has a privilege to create, modify and delete the test papers and its particular questions. User can
register, login and give the test with his specific id, and can see the results as well.
54
Bibliography
Books
55