0% found this document useful (0 votes)
68 views55 pages

Online Exam Portal

its PROJECT or mba in IT

Uploaded by

lalsingh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views55 pages

Online Exam Portal

its PROJECT or mba in IT

Uploaded by

lalsingh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 55

TITLE OF THE PROJECT REPORT

ONLINE EXAMINATION / TEST 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

1.2 PROBLEM STATEMENT

2) OBJECTIVE OF PROJECT………………………….……...……

2.1 FUTURE SCOPE

3) DESIGN TOOLS………………………………….…………….….

3.1 JAVA (CORE & ADVANCE)

3.2 JSP

3.2 WAMP

3.3 MY SQL

3.4 HTML

3.5 JAVA SCRIPT

3.6 HARDWARE REQUIREMENTS

4) MODULES AND PROCESS LOGIC

4.1 WATERFALL MODEL

4.2 PERT CHART

5) SR SPECIFICATION

6) DFD……………………..…………………………………………...

5
7) E-R DIAGRAM……………………..…………………………………

8) CODING………………………………………………………………

9) SECURITY MECHANISM ……..………………………………..……

9.1 FRONT END SECURITY

9.2 BACK END SECURITY

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.

1.2 Problem Definition


A website is to be designed to conduct online tests. Unlike other online examination systems this
website should not be just for the students, instead it should also provide facility to Institutes to
host online Tests/Exams.
This will help institutes as:
 There will be no need to get new software every time to conduct an online test.

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.

2 Objective of The Project

 To provide an interface through which student can appear for examination online for
objective type questions.

 To provide registration for students done by themselves.

 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

2.1 Future Scope


Scope of this project is very broad in terms of other manually taking exams. Few of them are:
 Can be used anywhere any time as it is web application.
 This is fully online system in future.
 Many of other institutes merge in this site to take individual test.

8
3. Design tools:
 3.1 JAVA:-

JAVA is a general –purpose Computer programming language that is concurrent, Class-based,


object-oriented and specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers “WRITE ONCE RUN ANYHWERE’
meaning that compiled java code can run on all platforms that support java without the need for
compilation. Java application are the typically compiled to run bytecode that run on any java
virtual machine (JVM) regardless of computer Architecture.

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:-

WAMPs are packages of independently-created programs installed on computers that use


a Microsoft Windows operating system.

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.

Free-software-open source projects that require a full-featured database management system


often use MySQL. For commercial use, several paid editions are available, and offer additional
functionality. Applications which use MySQL databases
include: TYPO3, Joomla, WordPress,phpBB, MyBB, Drupal and other software built on
theLAMP software stack. MySQL is also used in many high-profile, large-scale World Wide
Web products, including Wikipedia, Google (though not for searches),Facebook, and Twitter.

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"

attribute2="value2">content</tag>. Some HTML elements are defined as empty elements


and take the form <tag attribute1="value1" attribute2="value2">. Empty elements may
enclose no content, for instance, the BR tag or the inline IMG tag. The name of an HTML
element is the name used in the tags. Note that the end tag's name is preceded by a slash
character, "/", and that in empty elements the end tag is neither required nor allowed. If attributes
are not mentioned, default values are used in each case.

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:-

A function is first-class; a function is considered to be an object. As such, a function may have


properties and methods, such as .call() and .bind().A nested function is a function defined within
another function. It is created each time the outer function is invoked. In addition, each nested
function forms a lexical closure: The lexical scope of the outer function (including any constant,

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.

3.6 Hardware Requirements:


a) HARDWARE :Minimum Pentium-V processor or above
b) RAM : 2GB Minimum
c) Hard – Disk : 80 GB Minimum

4 Modules & process logic

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.

ii) Login & Security

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..

iv) Downloading & Uploading


In this module customer only can upload the requirements and download them. The notes
will be in pdf format, so they can be easily downloaded as in equal format for all the
system. In this module the customer can download all the form which will be available for
the online test.

12
Software Requirement Specification (SRS)

The Software Requirements specification is produced at the culmination of the analysis


task. The functions and performance located to software as art of in the system
engineering are refined by establishing the complete information description, a detailed
functional and behavioral description, and indication of performance requirement and
design constraints, appropriate validation criteria and data pertinent to requirements

5.1 Waterfall Model

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.

Advantages of waterfall model:

This model is simple and easy to understand and use.

• 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:

(1) A square shows the Entity:

(2) A Circle shows the Process:

(3) An open Ended Rectangle shows the data store:

(4) An arrow shows the data flow:-

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>

<li class='has-sub'><a href='login.jsp'><span>LOGIN</span></a>


<ul>
<li class='has-sub'><a href='login.jsp'><span>STUDENT
LOGIN</span></a></li>
<li class='has-sub'><a href='admin.jsp'><span>ADMINISTRATION
LOGIN</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>&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a
href="logout.jsp">Logout</a>
</td>
</tr></center><hr>

19
</body>
</html>

instructions.jsp(instruction about exam)

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<title>
</title>
<style>
body{
background:#efefef;
}
.help
{
text-align:center;
padding:5px;
width:5%;
float:right;
border:2px solid black;
}
.help:hover
{
background:black;
color:white;
font-weight:bold;
box-shadow:5px 5px 10px gray;
}
.logout
{
text-align:center;
padding:5px;
width:5%;
float:right;
border:2px solid black;
}
.logout:hover
{
background:black;

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&nbsp&nbsp&nbsp" +name %>&nbsp;&nbsp;<%=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 &nbsp;<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>

Success.jsp (student’s main Page)

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<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)

22
.end()
.appendTo('#slideshow');
}, 3000);

</script>
<style>
#slideshow {
position: relative;
height:200px;
width:100%;

#slideshow > div


{
position: absolute;
}

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>

<table border=10 cellspacing=0 cellpadding=0 width="100%">


<tr>
<td bgcolor=#2F4F4F><b><font color=#F08080 size=3 face="bold"
center>
<marquee behavior="alternate" onmouseover=this.stop()
onmouseout=this.start()><font color=white size=4><%
String name =(String)session.getAttribute("sname");
String name1=(String)session.getAttribute("sname1");
%>
<%int id=1;%>
<%= "Welcome&nbsp&nbsp&nbsp" +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>
<img src="images/std3.jpg" width="1348px" height="200px" />
</div>

<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
}

#slideshow > div


{
position: absolute;
}

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&nbsp&nbsp&nbsp" +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>

<a href="logout.jsp"><div class="logout">LOGOUT</div></a>


</div>
<a href="help.jsp"><div class="help">HELP</div></a>
</table>

<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/>");

rs = st.executeQuery("select question,option1,option2,option3,option4 from test1 where


question_no = '7'") ;
while(rs.next()){
out.println("Q.7)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
out.println("<li><input type='radio' name='cpp7' value='r1'
/>"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp7' value='r2'
/>"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp7' value='r3'
/>"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp7' 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 = '8'") ;
while(rs.next()){
out.println("Q.8)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
out.println("<li><input type='radio' name='cpp' value='r1' />"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp8' value='r2'
/>"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='c8' value='r3' />"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='cpalue='r4' />"+rs.getString(5)+"<br><br></li>");

} 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/>");

rs = st.executeQuery("select question,option1,option2,option3,option4 from test1 where


question_no = '10'") ;
while(rs.next()){
out.println("Q.10)<b>"+rs.getString(1)+"</b>");
out.println("<ol type='A'>");
out.println("<li><input type='radio' name='cpp10' value='r1'
/>"+rs.getString(2)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp10' value='r2'
/>"+rs.getString(3)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp10' value='r3'
/>"+rs.getString(4)+"<br><br></li>");
out.println("<li><input type='radio' name='cpp10' value='r4'
/>"+rs.getString(5)+"<br><br></li>");
} out.print("</ol>");
out.print("<hr/>");
}
catch(Exception e)
{
out.print(e);
}
int eid=Integer.parseInt(request.getParameter("id"));
out.print("<input type='hidden' name='id' value='"+eid+"' />");
out.print("<center><input class='next' type='submit' value='Submit'></center>");
%>
<br><br><br>
</form>
</body>

32
</html>

cppRes.jsp (c++ result page)


<%@page import="java.sql.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%!
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>

<table bgcolor="#E6E6FA" class="auto-style1" border="1" style="border-spacing:1px; height: 107px;


margin-top:40px;margin-bottom:50px" align="center">
<tr>
<td class="auto-style2" colspan="3">&nbsp;Result</td>

</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();

int count =0;

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>

<%

st.executeUpdate("insert into res values("+r1+","+i1+","+count+",'"+s5+"')");


%>
<center><input class="next" type="submit" value="FINISH"></center>
</form>
</body>
</html>

IReport.jsp (current student report)

<%@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>JSP Page</title>
<style>
#s
{
float: right;
}

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>&nbsp;|&nbsp;<a
href="logout.jsp">Logout</a></center></div>
</body>
</html>

fpass.jsp(forgot password page)

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 &nbsp&nbsp&nbsp"+pwd);
}
}
catch(Exception e)
{
out.print(e);
}
%>
<hr>
<center><a href="index.html">Home</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a
href="logout.jsp">Logout</a></center>
<hr>
</body>
</html>

changepass.jsp(change password page)

<%@page contentType="text/html" pageEncoding="UTF-8"%>

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>&nbsp;&nbsp;|&nbsp;&nbsp;<a
href="logout.jsp">Logout</a></center>
<hr>
</body>
</html>

39
ADMIN MANUAL
Admin

admin.jsp(admin’s login page)

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Admin Login Page</title>

<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

 This is the Index Page where the user/student is first navigated.


 Here, the user has to click on the “SIGN UP” Menu for to be presented with
the next screen.

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

 Here the only registered student can access the page.

44
Instructions.jsp

 This page contains the information about how to give exam.


success.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

 This page will contain the student result with marks.

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

 In this page student can change their password.


 New password should contain minimum 6 characters and must contain
1Uppercase, 1 Lowercase, 1 Digit.
admin.jsp

49
 Here the only registered student can access the page.
AddStudent.jsp

 Here the only Admin can add the student.

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

to restrict mistakes by user.

ii) Back end: We have used MySQL as the Back end. MySql Server provides

efficient/effective solution for major database tech.

- Large database and space management. - Many concurrent database users. - Industry

accepted standards - Manageable security - Portability

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

1. Java– The Complete Reference 7th Edition by Herbert Schildt, published by


Mcgraw hill education ,2007
2. HTML 4 for Dummies Quick Reference by Eric Ray ,Publisher IDG Books -
Feb 1998
3. JavaScript & jQuery: The Missing Manual by David Sawyer McFarland
(2011)
4. Rao R.N.” Core Java”, Edition 1st , Dream Tech. Press,2008.

55

You might also like