You are on page 1of 79

ONLINE TEST TAKING SYSTEM

1.ABSTRACT
Online Examination System is a software solution, which allows a particular
company or institute to arrange, conduct and manage examinations via an online
environment. This can be done through the Internet, Intranet and/or Local Area Network
environments.
Some of the problems faced by manual examination systems are delays in result
processing, filing poses a problem, filtering of records is not easy, The chance of loss of
records is high and also record searching is difficult. Maintenance of the system is also very
difficult and takes lot of time and effort.
I intend to use the systems development life cycle (SDLC) which is a conceptual
model used in project management that describes the stages involved in an information
system development project.
Java will be used to achieve the project because of its flexibility and English-Like
Syntax. MYSQL Server will be used as the database management system.

1.1 Introduction
Online Examination System is a software solution, which allows a particular
company or institute to arrange, conduct and manage examinations via an online
environment. This can be done through the Internet, Intranet and/or Local Area Network
environments.
Some of the problems faced by manual examination systems are delays in result
processing, filing poses a problem, filtering of records is not easy, The chance of loss of
records is high and also record searching is difficult. Maintenance of the system is also very
difficult and takes lot of time and effort. There are Four Module in this project and can
several sub Module.

Login
Admin
Teacher
Student

The Role of the Admin is to create Teacher, View the Teacher and Update and delete
the Teacher, and also Create , view, update and delete the exam for the Student. He Can view
Result of the all Student. He can also Create , view , update and delete the award Details for
the Student.
The Role of the Teacher is Create Student , View , update and Delete the Students.
And he can also Prepare the Question and Answer. Then he can Results of the all Students.
The Role the Students is Take the Exam for the particular Exam and Subject. Finally
View the Results.

2. PROBLEM DEFINITION AND METHDOLOGY

2.1 Existing system


The first problem is that there are loads of hard copied documents being generated
this beings us to the age-old discussion of keeping information in the form database versus
keeping the same on sheets of paper. Keeping the information in the form of hard copied
documents leads to the following problems.

Lack of space
Filling poses a problem
Filtering is not Easy
Result processing is slow due to paper work and requirement of staff.

2.2 Proposed System


To Solve these problems they required a computerized system to handle all the work
the required a web based application that will provide a working environment that will be
flexible and will provides case of work and will reduce the time for report generation and
other paper works.
The main purpose behind the proposed system is to provide a comphensive
computerized system, which can capture, collate and analyze the data from these wards and
evaluate the impact of the problem.

2.3 Module Description


3

Online Examination System is a software solution, which allows a particular


company or institute to arrange, conduct and manage examinations via an online
environment. This can be done through the Internet, Intranet and/or Local Area Network
environments. There are Four Module in this project and can several sub Module.

Login
Admin
Teacher
Student

LOGIN:
In this module Admin, Teacher and Student enters the username & password which
can be checked in the database and will be reject to home page if the user is already exists, if
not it will reply the error.

Admin:
The Role of the Admin is to create Teacher, View the Teacher and Update and delete
the Teacher, and also Create , view, update and delete the exam for the Student. He Can view
Result of the all Student. He can also Create , view , update and delete the award Details for
the Student.

Create Teacher
View Teacher
Create Exam
View Exam
View Results
Create Award
View Award

Teacher :
The Role of the Teacher is Create Student , View , update and Delete the Students.
And he can also Prepare the Question and Answer. Then he can Results of the all Students.
4

Create Student
View Student
Question & Answer
Results

Students :
The Role the Students is Take the Exam for the particular Exam and Subject. Finally
View the Results.

Take Exam
Results

3. REQUIREMENT ANALYSIS

3.1 Hardware Specification:


Processor

Intel Pendium Dual core

Ram

2gb
5

Hard disk

160 gb

Monitor

LCD monitor

Input units

Keyboard & mouse

3.2 Software Specification:


Operating System

Windows 7

Web Browser

Internet Explorer /chrome

Front-End Tool

Java

Back-End Tool

Mysql

IDE Tool

Net beans 7.3.1

4. SOFTWARE ENVIRONMENT:
ABOUT JAVA
Java technology is both a programming language and a platform. The Java
ProgrammingLanguageThe Java programming language is a high-level language that can be
characterized by all of the following buzzwords:
6

Simple
Object oriented
Distributed
Multithreaded
Dynamic

Architecture neutral
Portable
High performance
Robust
Secure

Each of the preceding buzzwords is explained in The Java Language Environment , a white
paper written by James Gosling and Henry McGilton. In the Java programming language, all
source code is first written in plain text files ending with the .java extension. Those source
files are then compiled into .class files by the javac compiler. A .class file does not contain
code that is native to your processor; it instead contains bytecodes the machine language
of the Java Virtual Machine1 (Java VM). The java launcher tool then runs your application
with an instance of the Java Virtual Machine.

An overview of the software development process.


Because the Java VM is available on many different operating systems, the same .class files
are capable of running on Microsoft Windows, the Solaris Operating System (Solaris OS),
Linux, or Mac OS. Some virtual machines, such as the Java HotSpot virtual machine,
perform additional steps at runtime to give your application a performance boost. This
include various tasks such as finding performance bottlenecks and recompiling (to native
code) frequently used sections of code.
Through the Java VM, the same application is capable of running on multiple
platforms.

The Java Platform


A platform is the hardware or software environment in which a program runs. We've already
mentioned some of the most popular platforms like Microsoft Windows, Linux, Solaris OS,
7

and Mac OS. Most platforms can be described as a combination of the operating system and
underlying hardware. The Java platform differs from most other platforms in that it's a
software-only platform that runs on top of other hardware-based platforms.

The Java platform has two components:

TheJava Virtual Machine

TheJava Application Programming Interface (API)

The general-purpose, high-level Java programming language is a powerful software


platform. Every full implementation of the Java platform gives you the following features:
Development Tools: The development tools provide everything you'll need for
compiling, running, monitoring, debugging, and documenting your applications. As a
new developer, the main tools you'll be using are the javac compiler, the java
launcher, and the javadoc documentation tool.
Application Programming Interface (API): The API provides the core
functionality of the Java programming language. It offers a wide array of useful
classes ready for use in your own applications. It spans everything from basic
objects, to networking and security, to XML generation and database access, and
more. The core API is very large; to get an overview of what it contains, consult the
Java SE Development Kit 6 (JDKTM 6) documentation.
Deployment Technologies: The JDK software provides standard mechanisms such
as the Java Web Start software and Java Plug-In software for deploying your
applications to end users.
User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create
sophisticated Graphical User Interfaces (GUIs).
Integration Libraries: Integration libraries such as the Java IDL API,

TM

API, Java

Naming and Directory InterfaceTM ("J.N.D.I.") API, Java RMI, and Java Remote
Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP
Technology) enable database access and manipulation of remote objects.

Why Java's a Better Programming Language


If that were all Java was, it would still be more interesting than a <marquee> or
<frame> tag in some new browser beta, but there's a lot more. Java isn't just for web sites.
Java is a programming language that can do almost anything a traditional programming
language like FORTRAN, Basic or C++ can do. However Java has learned from the
mistakes of its predecessors. It is considerably easier to program and to learn than those
languages without giving up any of their power.
The Java language shares many superficial similarities with C, C++, and Objective
C. For instance, loops have identical syntax in all four languages, However, Java is not
based on any of these languages, nor have efforts been made to make it compatible with
them.
Java is sometimes referred to as C++++--. James Gosling invented Java because C++
proved inadequate for certain tasks. Since Java's designers were not burdened with
compatibility with existing languages, they were able to learn from the experience and
mistakes of previous object-oriented languages. They added a few things C++ doesn't have
like garbage collection and multithreading (the ++) and they threw away C++ features that
had proven to be better in theory than in practice like multiple inheritance and operator
overloading (the --). A few advanced features like closures and parameterized types that the
Java team liked were nonetheless left out of the language due to time constraints. There's
still argument over whether the right choices were made. Parameterized types (templates to
C++ programmers) may be added in a later revision of Java.
Java has learned a lot from previous languages. Let's look at some of the advantages
Java offers programmers.

Java is Simple
Java was designed to make it much easier to write bug free code. According to Sun's
Bill Joy, shipping C code has, on average, one bug per 55 lines of code. The most important
part of helping programmers write bug-free code is keeping the language simple.
Java has the bare bones functionality needed to implement its rich feature set. It does
not add lots of syntactic sugar or unnecessary features. The language specification for Java
is only about eighty pages long compared to a couple of hundred pages for C and even more
for C++. Despite its simplicity Java has considerably more functionality than C.
Because Java is simple, it is easy to read and write. Obfuscated Java isn't nearly as
common as obfuscated C. There aren't a lot of special cases or tricks that will confuse
beginners.
About half of the bugs in C and C++ programs are related to memory allocation and
deallocation. Therefore the second important addition Java makes to providing bug-free
code is automatic memory allocation and deallocation. The C library memory allocation
functions malloc() and free() are gone as are C++'s destructors.
Java is an excellent teaching language, and an excellent choice with which to learn
programming. The language is small so it's easy to become fluent in it. The language is
interpreted so the compile-link-run cycle is much shorter. (In fact, the link phase is
eliminated entirely.) The runtime environment provides automatic memory allocation and
garbage collection so there's less for the programmer to think about. Java is object-oriented
(unlike Basic) so the beginning programmer doesn't have to unlearn bad programming habits
when moving into real world projects. Finally, it's very difficult (if not quite impossible) to
write a Java program that will crash your system, something that you can't say about any
other language.

10

Java is Object-Oriented
Object oriented programming was the catch phrase of computer programming in the
1990's. Although object oriented programming has been around in one form or another since
the Simula language was invented in the 1960's, it really took hold in modern GUI
environments like Windows, Motif and the Mac. In object-oriented programs data is
represented by objects. Objects have two sections, fields (instance variables) and methods.
Fields tell you what an object is. Methods tell you what an object does. These fields and
methods are closely tied to the object's real world characteristics and behavior. When a
program runs messages are passed back and forth between objects. When an object receives
a message, it responds accordingly as defined by its methods.
Object oriented programming is alleged to have a number of advantages including:

Simpler, easier to read programs

More efficient reuse of code

Faster time to market

More robust, error-free code

In practice object-oriented programs have been just as slow, expensive and buggy as
traditional non-object-oriented programs. In large part this is because the most popular
object-oriented language is C++. C++ is a complex, difficult language that shares all the
obfuscation of C while sharing none of C's efficiencies. It is possible in practice to write
clean, easy-to-read Java code. In C++ this is almost unheard of outside of programming
textbooks.

Java is Platform Independent


Java was designed to not only be cross-platform in source form like C, but also in
compiled binary form. Since this is frankly impossible across processor architectures, Java is
compiled to an intermediate form called byte-code.

11

A Java program never really executes natively on the host machine. Rather a special
native program called the Java interpreter reads the byte code and executes the
corresponding native machine instructions. Thus to port Java programs to a new platform,
all you need to do is run it with an interpreter written for the new platform. You don't even
need to recompile. Even the compiler is written in Java. The byte codes are precisely
defined, and remain the same on all platforms.
The second important part of Java's cross-platform savvy is the elimination of
undefined and architecture dependent constructs. Integers are always four bytes long, and
floating point variables follow the IEEE 754 standard for computer arithmetic exactly. You
don't have to worry that the meaning of an integer is going to change if you move from a
Pentium to a PowerPC. In Java everything is guaranteed.
However the virtual machine itself and some parts of the class library must be
written in native code. These are not always as easy or as quick to port as pure Java
programs. This is why for example, there's not yet a version of Java 1.2 for the Mac.

Java is Safe
Java was designed from the ground up to allow for secure execution of code across a
network, even when the source of that code was untrusted and possibly malicious.
This required the elimination of many features of C and C++. Most notably there are no
pointers in Java. Java programs cannot access arbitrary addresses in memory. All memory
access is handled behind the scenes by the (presumably) trusted runtime environment.
Furthermore Java has strong typing. Variables must be declared, and variables do not change
types when you aren't looking. Casts are strictly limited to casts between types that make
sense. Thus you can cast an int to a long or a byte to a short but not a long to a Boolean or an
int to a String.
Java implements a robust exception handling mechanism to deal with both expected and
unexpected errors. The worst that a Java program can do to a host system is bringing down
the runtime environment. It cannot bring down the entire system.
12

Most importantly Java applets can be executed in an environment that prohibits them from
introducing viruses, deleting or modifying files, or otherwise destroying data and crashing
the host computer. A Java enabled web browser checks the byte codes of an applet to verify
that it doesn't do anything nasty before it will run the applet.
However the biggest security problem is not hackers. It's not viruses. It's not Visual Basic
worms transmitted by Outlook Express. It's not even insiders erasing their hard drives and
quitting your company to go to work for your competitors. No, the biggest security issue in
computing today is bugs. Regular, ordinary, non-malicious, unintended bugs are responsible
for more data loss and lost productivity than all other factors combined. Java, by making it
easier to write bug-free code, substantially improves the security of all kinds of programs.

Java is High Performance


Java byte codes can be compiled on the fly to code that rivals C++ in speed using a "just-intime compiler." Several companies are also working on native-machine-architecture
compilers for Java. These will produce executable code that does not require a separate
interpreter, and that is indistinguishable in speed from C++. While you'll never get that last
ounce of speed out of a Java program that you might be able to wring from C or FORTRAN,
the results will be suitable for all but the most demanding applications.
As of May, 1999, the fastest VM, IBM's Java 1.1 VM for Windows, is very close to C++ on
CPU-intensive operations that don't involve a lot of disk I/O or GUI work; C++ is itself only
a few percent slower than C or FORTRAN on CPU intensive operations.
It is certainly possible to write large programs in Java. The Hot Java web browser, the
JBuilder integrated development environment and the javac compiler are large programs that
are written entirely in Java.

Java is Multi-Threaded
Java is inherently multi-threaded. A single Java program can have many different processes
executing independently and continuously. Three Java applets on the same page can run
simultaneously with each getting equal time from the CPU with very little extra effort on the
13

part of the programmer. This makes Java incredibly responsive to user input. It also helps to
contribute to Java's robustness and provides a mechanism whereby the Java environment can
ensure that a malicious applet doesn't steal all of the host's CPU cycles.
Unfortunately multithreading is so tightly integrated with Java, that it makes Java rather
difficult to port to architectures like Windows 3.1 or the PowerMac that don't natively
support preemptive multi-threading.
There is another cost associated with multi-threading. Multi-threading is to Java what
pointer arithmetic is to C; that is, a source of devilishly hard to find bugs. Nonetheless, in
simple programs it's possible to leave multi-threading alone and normally be OK.

Java is Dynamic(ly linked)


Java does not have an explicit link phase. Java source code is divided into .java files,
roughly one per each class in your program. The compiler compiles these into .class files
containing byte code. Each .java file generally produces exactly one .class file. (There are a
few exceptions we'll discuss later, non-public classes and inner classes).
The compiler searches the current directory and a few other well specified places to find
other classes explicitly referenced by name in each source code file. If the file you're
compiling depends on other, non-compiled files, then the compiler will try to find them and
compile them as well. The Java compiler is quite smart, and can handle circular
dependencies as well as methods that are used before they're declared. It also can determine
whether a source code file has changed since the last time it was compiled.
More importantly, classes that were unknown to a program when it was compiled can still be
loaded into it at runtime. For example, a web browser can load applets of differing classes
that it's never seen before without recompilation.
Furthermore, Java .class files tend to be quite small, a few kilobytes at most. It is not
necessary to link in large runtime libraries to produce an executable. Instead the necessary
classes are loaded from the user's local system.

14

Java is Garbage Collected


You do not need to explicitly allocate or deallocate memory in Java. Memory is allocated as
needed, both on the stack and the heap, and reclaimed by the garbage collector when it is no
longer needed. There are no malloc(), free(), or destructor methods. There are constructors
and these do allocate memory on the heap, but this is transparent to the programmer.
Most Java virtual machines use an inefficient, mark and sweep garbage collector. Some
more recent virtual machines have improved matters quite a bit by using generational
garbage collection.
To sum up, Java is a safe, robust, garbage-collected, object-oriented, high-performance,
multi-threaded,

interpreted,

architecture-neutral,

cross-platform,

buzzword-compliant

programming language.

AWT
The Abstract Window Toolkit (AWT) package enables you to create GUIs in your applets
and applications. Different Windows API from different platforms were looked at and
components were identified that were common to all of them. The AWT API communicates
with the platform's native API's as to give your application the native look and feel. Because
they associate with their own native screen resources, AWT components are called
heavyweight components. Swing components do not associate with native resources and are
called lightweight components. The AWT consists of components, both container and noncontainer ones (eg. Button, Checkbox, Choice, ...) Container components (eg. Frame,
Dialog, Window, Panel) control the layout of other components. As containers are
themselves components, they can be placed inside other containers. Check out these links
and subcategories on how to create and work with these containers and components.

Subcategories

Button

15

Insets

Canvas

Checkbox and RadioButton

Input Method Framework

Choice

Label

Color

Layout Managers

Data Transfer (java.awt.datatransfer.*)

List

Dialog

Menu, MenuItem

Drag and Drop (java.awt.dnd.*)

Robot

Event

Scrollbar

Font

ScrollPane

Frame

Textfield, TextArea

Graphics

Toolkit

Swing
Swing is not an acronym. It packages a set of GUI components. Unlike AWT components,
that are associated to native screen resources (heavyweight), Swing components draw
themselves on the screen (lightweight). This results in slower execution but a Swing
application will look the same on all platforms. Because Swing supports pluggable lookand-feel, you could have a Windows look in your Unix environment (if you would ever want
that). Check out the numerous subcategories for code examples for each component!

Subcategories
16

javax.swing.border.*

Atomic

Controls

JCheckBox,

javax.swing.text.*

javax.swing.undo.*

JComponent

Top-Level

JList,

JMenu,

JSlider, JTextField)

Uneditable

Atomic

Controls

(JLabel, JProgressBar, JToolTip)


Containers

(JApplet,

General-Purpose

(JDesktop,

Atomic

Containers
JInternalFrame,

JLayeredPane, JRootPane)

Controls

JFileChooser,

JTable, JTextArea, JEditorPane,

Containers

JTabbedPane, JToolBar)
Special-Purpose

Editable

(JColorChooser,
JTree)

(JPanel, JScrollPane, JSplitPane,

JRadioButton,

JComboBox,

JDialog, JOptionPane, JFrame)

(JButton,

HTMLEditorKit

RTFEditorKit

Swing Events

Swing Look and Feel

Netbeans Ide
NetBeans is an integrated development environment (IDE) for developing primarily
with Java, but also with other languages, in particularPHP, C/C++, and HTML5.[2] It is also
an application platform framework for Java desktop applications and others. The NetBeans
IDE is written in Java and can run on Windows, OS X, Linux, Solaris and other platforms
supporting a compatible JVM.
The NetBeans Platform allows applications to be developed from a set of modular software
components called modules. Applications based on the NetBeans Platform (including the
NetBeans IDE itself) can be extended by third party developers.

17

The NetBeans Team actively support the product and seek feature suggestions from the
wider community. Every release is preceded by a time for Community testing and feedback

NetBeans Platform
Framework for simplifying the development of Java Swing desktop applications. The
NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans
plugins and NetBeans Platform based applications; no additional SDK is required.
Applications can install modules dynamically. Any application can include the Update
Center module to allow users of the application to download digitally signedupgrades and
new features directly into the running application. Reinstalling an upgrade or a new release
does not force users to download the entire application again.
The platform offers reusable services common to desktop applications, allowing developers
to focus on the logic specific to their application. Among the features of the platform are:

User interface management (e.g. menus and toolbars)

User settings management

Storage management (saving and loading any kind of data)

Window management

Wizard framework (supports step-by-step dialogs)

NetBeans Visual Library

Integrated development tools

NetBeans IDE is a free, open-source, cross-platform IDE with built-in-support for Java
Programming Language.

18

NetBeans IDE
NetBeansIDE is an open-source integrated development environment. NetBeans
IDE

supports

development

of

all

Java

application

types(JavaSE(including JavaFX), JavaME, web, EJB and mobile applications out of the box.
Among

other

features

are

an Ant-based

projectsystem, Maven support,refactorings, versioncontrol (supporting CVS, Subversion, Gi


t, Mercurial and Clearcase).

Modularity:
All the functions of the IDE are provided by modules. Each module provides a well
defined function, such as support for the Java language, editing, or support for
the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java
development in a single download, allowing the user to start working immediately. Modules
also allow NetBeans to be extended. New features, such as support for other programming
languages, can be added by installing additional modules. For instance, Sun Studio, Sun
Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based
on the NetBeans IDE.
License: From July 2006 through 2007, NetBeans IDE was licensed under Sun's Common
Development and Distribution License (CDDL), a license based on the Mozilla Public
License (MPL). In October 2007, Sun announced that NetBeans would henceforth be
offered under a dual license of the CDDL and the GPL version 2 licenses, with the GPL
linking exception for GNU Classpath..
Integrated modules :These modules are part of the NetBeans IDE.

NetBeans Profiler
The NetBeans Profiler is a tool for the monitoring of Java applications: It helps
developers find memory leaks and optimize speed. Formerly downloaded separately, it is
integrated into the core IDE since version 6.0.
19

The Profiler is based on a Sun Laboratories research project that was named JFluid.
That research uncovered specific techniques that can be used to lower the overhead of
profiling a Java application. One of those techniques is dynamic bytecode instrumentation,
which is particularly useful for profiling large Java applications. Using dynamic bytecode
instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime
information on applications that are too large or complex for other profilers. NetBeans also
support Profiling Points that let you profile precise points of execution and measure
execution time NetBeans GUI Builder.

GUI design tool


Formerly known as project Matisse, the GUI design-tool enables developers to prototype
and design Swing GUIs by dragging and positioning GUI components.
The GUI builder has built-in support for JSR 295 (Beans Binding technology), but the
support for JSR 296 (Swing Application Framework) was removed in 7.1.

NetBeans JavaScript editor


The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and CSS.
JavaScript editor features comprise syntax highlighting, refactoring, code completion for
native objects and functions, generation of JavaScript class skeletons, generation
of Ajax callbacks from a template; and automatic browser compatibility checks.
CSS editor features comprise code completion for styles names, quick navigation through
the navigator panel, displaying the CSS rule declaration in a List View and file structure in a
Tree View, sorting the outline view by name, type or declaration order (List & Tree),
creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).

Bootstrap (front-end framework)

20

Bootstrap is a free collection of tools for creating websites and web applications. It
contains HTML and CSS-based design templates for typography, forms, buttons, navigation
and other interface components, as well as optional JavaScript extensions. It is the most
popular project on GitHub and has been used by NASA and MSNBC among others.

Ature
Bootstrap is compatible with the latest versions of all major browsers. It gracefully degrades
when used on older browsers such as Internet Explorer 8.
Since version 2.0 it also supports responsive design. This means the layout of web pages
adjusts dynamically, taking into account the characteristics of the device used (PC, tablet,
mobile phone).
Bootstrap is open source and available on GitHub. Developers are encouraged to participate
in the project and make their own contributions to the platform.
Recently, community members have translated Bootstrap's documentation into various
languages, including Chinese, Spanish and Russian.[6]

Structure and function


Bootstrap is modular and consists essentially of a series of LESS stylesheets that implement
the various components of the toolkit. A stylesheet called bootstrap.less includes the
components stylesheets. Developers can adapt the Bootstrap file itself, selecting the
components they wish to use in their project.
Adjustments are possible to a limited extent through a central configuration stylesheet. More
profound changes are possible by the LESS declarations.
The use of LESS stylesheet language allows the use of variables, functions and operators,
nested selectors, as well as so-called mixins.
Since version 2.0, the configuration of Bootstrap also has a special "Customize" option in
the documentation. Moreover, the developer chooses on a form the desired components and

21

adjusts, if necessary, the values of various options to their needs. The subsequently
generated package already includes the pre-built CSS style sheet.
Grid system and responsive design comes standard with a 940 pixel wide, grid layout.
Alternatively, the developer can use a variable-width layout. For both cases, the toolkit has
four variations to make use of different resolutions and types of devices: mobile phones,
portrait and landscape, tablets and PCs with low and high resolution. Each variation adjusts
the width of the columns.

Understanding the CSS stylesheet


Bootstrap provides a set of stylesheets that provide basic style definitions for all key HTML
components. These provide a uniform, modern appearance for formatting text, tables and
form elements.

Re-usable components
In addition to the regular HTML elements, Bootstrap contains other commonly used
interface elements. These include buttons with advanced features (e.g. grouping of buttons
or buttons with drop-down option, make and navigation lists, horizontal and vertical tabs,
navigation, breadcrumb navigation, pagination, etc.), labels, advanced typographic
capabilities, thumbnails, warning messages and a progress bar.

JavaScript components
Bootstrap comes with several JavaScript components in the form of jQuery plugins. They
provide additional user interface elements such as dialog boxes, tooltips, and carousels.
They also extend the functionality of some existing interface elements, including for
example an auto-complete function for input fields. In version 2.0, the following JavaScript
plugins are supported: Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button,
Collapse, Carousel and Typeahead.

22

An implementation of Twitter Bootstrap using the Dojo Toolkit is also available. It is


called Dojo Bootstrap and is a port of the Twitter Bootstrap plugins. It uses 100% Dojo
code and has support for AMD (Asynchronous Module Definition).
Likewise, Bootstrap controls for AngularJS are also available; they are called UI Bootstrap.
This port reuses some Bootstrap markup.

MY SQL DATABASE:
MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by Oracle Corporation.

MySQL is a database management system.


A database is a structured collection of data. It may be anything from a simple shopping
list to a picture gallery or the vast amounts of information in a corporate network. To add,
access, and process data stored in a computer database, you need a database management
system such as MySQL Server. Since computers are very good at handling large amounts
of data, database management systems play a central role in computing, as standalone
utilities, or as parts of other applications.

MySQL databases are relational.


A relational database stores data in separate tables rather than putting all the data in one
big storeroom. The database structures are organized into physical files optimized for
speed. The logical model, with objects such as databases, tables, views, rows, and
columns, offers a flexible programming environment. You set up rules governing the
relationships between different data fields, such as one-to-one, one-to-many, unique,
required or optional, and pointers between different tables. The database enforces these
rules, so that with a well-designed database, your application never sees inconsistent,
duplicate, orphan, out-of-date, or missing data.
23

The SQL part of MySQL stands for Structured Query Language. SQL is the most
common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate
reports), embed SQL statements into code written in another language, or use a languagespecific API that hides the SQL syntax.
SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving
since 1986 and several versions exist. In this manual, SQL-92 refers to the standard
released

in

1992, SQL:1999 refers

to

the

standard

released

in

1999,

and SQL:2003 refers to the current version of the standard. We use the phrase the
SQL standard to mean the current version of the SQL Standard at any time.

SQL software is Open Source.


Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software from the Internet and use it without paying
anything. If you wish, you may study the source code and change it to suit your needs.
The MySQL software uses the GPL (GNU General Public License), to define what you
may and may not do with the software in different situations. If you feel uncomfortable
with the GPL or need to embed MySQL code into a commercial application, you can buy
a commercially licensed version from us. See the MySQL Licensing Overview for more
information (http://www.mysql.com/company/legal/licensing/).

The MySQL Database Server is very fast, reliable, scalable, and


easy to use.
If that is what you are looking for, you should give it a try. MySQL Server can run
comfortably on a desktop or laptop, alongside your other applications, web servers, and
so on, requiring little or no attention. If you dedicate an entire machine to MySQL, you

24

can adjust the settings to take advantage of all the memory, CPU power, and I/O capacity
available. MySQL can also scale up to clusters of machines, networked together.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL Server
today offers a rich and useful set of functions. Its connectivity, speed, and security make
MySQL Server highly suited for accessing databases on the Internet.

MySQL Server works in client/server or embedded systems.


The MySQL Database Software is a client/server system that consists of a multi-threaded
SQL server that supports different backends, several different client programs and
libraries, administrative tools, and a wide range of application programming interfaces
(APIs).
We also provide MySQL Server as an embedded multi-threaded library that you can link
into your application to get a smaller, faster, easier-to-manage standalone product.

A large amount of contributed MySQL software is available.


MySQL Server has a practical set of features developed in close cooperation with our
users. It is very likely that your favorite application or language supports the MySQL
Database Server.

MySQL databases are relational.


A relational database stores data in separate tables rather than putting all the data in one
big storeroom. The database structures are organized into physical files optimized for
speed. The logical model, with objects such as databases, tables, views, rows, and
columns, offers a flexible programming environment. You set up rules governing the
25

relationships between different data fields, such as one-to-one, one-to-many, unique,


required or optional, and pointers between different tables. The database enforces these
rules, so that with a well-designed database, your application never sees inconsistent,
duplicate, orphan, out-of-date, or missing data.
The SQL part of MySQL stands for Structured Query Language. SQL is the most
common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate
reports), embed SQL statements into code written in another language, or use a languagespecific API that hides the SQL syntax.
SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving
since 1986 and several versions exist. In this manual, SQL-92 refers to the standard
released

in

1992, SQL:1999 refers

to

the

standard

released

in

1999,

and SQL:2003 refers to the current version of the standard. We use the phrase the
SQL standard to mean the current version of the SQL Standard at any time.

The MySQL Database Server is very fast, reliable, scalable, and


easy to use.
If that is what you are looking for, you should give it a try. MySQL Server can run
comfortably on a desktop or laptop, alongside your other applications, web servers, and
so on, requiring little or no attention. If you dedicate an entire machine to MySQL, you
can adjust the settings to take advantage of all the memory, CPU power, and I/O capacity
available. MySQL can also scale up to clusters of machines, networked together.
You can find a performance comparison of MySQL Server with other database managers
on our benchmark page.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL Server

26

today offers a rich and useful set of functions. Its connectivity, speed, and security make
MySQL Server highly suited for accessing databases on the Internet.

MySQL Server works in client/server or embedded systems.


The MySQL Database Software is a client/server system that consists of a multi-threaded
SQL server that supports different backends, several different client programs and
libraries, administrative tools, and a wide range of application programming interfaces
(APIs).
We also provide MySQL Server as an embedded multi-threaded library that you can link
into your application to get a smaller, faster, easier-to-manage standalone product.

A large amount of contributed MySQL software is available.


MySQL Server has a practical set of features developed in close cooperation with our
users. It is very likely that your favorite application or language supports the MySQL
Database Server.

Database:
27

A database is simply a collection of used data just like phone book. MySQL database
include such objects as tables, queries, forms, and more.

Tables:
In MySQL tables are collection of similar data. With all tables can be organized
differently, and
contain mostly different information- but they should all be in the same database file. For
instance we may have a database file called video store. Containing tables named
members,tapes, reservations and so on. These tables are stored in the same database file
because they are
often used together to create reports to help to fill out on screen forms.

Fields
Fields are places in a table where we store individual chunks of information.

Primary key and other indexed fields:


MySQL use key fields and indexing to help speed many database operations. We can tell
MySQL, which should be key fields, or MySQL can assign them automatically.

Controls and objects:


Queries are access objects us display, print and use our data. They can be things like
field labels that we drag around when designing reports. Or they can be pictures, or titles for
reports, or boxes containing the results of calculations.

Queries and dynasts:


Queries are request to information. When access responds with its list of data, that
response constitutes a dynaset. A dynamic set of data meeting our query criteria. Because of
the way access is designed, dynasts are updated even after we have made our query.

28

Forms:
Forms are on screen arrangement that make it easy to enter and read data. we can
also print the
forms if we want to. We can design form our self, or let the access auto form feature.

Reports:
Reports are paper copies of dynaset. We can also print reports to disk, if we like. Access
helps us to create the reports. There are even wizards for complex printouts.

Properties:
Properties are the specification we assigned to parts of our database design. We can define
properties for fields, forms, controls and most other access objects.

5. DESIGN
29

5.1 Data Flow Diagram


Data flow diagram is a means of representing system at any level of details
with a graphic network of symbols showing data flows, data stores, and data processes and
data sources.
The purpose of data flow diagram is to provide a semantic bridge between
users and system developers. The diagrams are graphical, eliminating thousands of words,
logical representations, modeling what system does: hierarchical, showing systems at any
level of details: and jargon less allowing user understanding and reviewing.
The goal of data flow diagramming is to have a commonly understood model of a
system. The diagram is the basis of structured system analysis. Data flow diagram area
supported by other techniques of structured system analysis such as data structured diagram,
ms data dictionaries and procedure representing such as decision tables, decision trees and
structured English.
The basic elements of DFD are
Circle: Used to represent function
Arrows: Used to represent data flow
Rectangle: Used to represent external entities
Open Rectangle: Used to represent data store.

External Entity

30

Represent Data Flow

Represents Data Stores

Represents a process that transforms


Incoming data into outgoing flow

Process
Specifies the transformation that is applied to the input to produce output.

External Entity
This represents any outside agency, which interacts with the system. Usually this is
an element, from that the system inputs or to which the system outputs go. A common.
Example if external entity is person or a group of persons.

Data Flow
This represents the flow of data between two processes or between a process and an
external entity or between a process and a data store.

Admin Module:

login

31

Username, password
login

Admin

Teacher

create

Exam

view

create

Result

view

Awards

View

create

view

view
award
login

exam

store

store

End Process

Teacher Module:

32
login

result

store

Username,password
login

Teacher

Students

create

view

Question

Results

Create
Question

View Result

store
student

question

End
Process

Student Module:

33

result

login

view

Take Exam

question

student

store
Result

View Result

5.2 Use Case Diagram:

34

Login

Create Teacher
Teacher

Create Student

Create Exam
Students
Admin

Question Prepare

Take Test

Results

Awards

5.3 Class Diagram:

35

Admin - Login
username : Varchar
Password : Varchar
role : Varchar
Submit()

Create Teacher
firstname : Varchar
Lastname : Varchar
email : Varchar
username : Varchar
Password : Varchar
Add Teacher()
Reset()

View Teacher
firstname : Varchar
Lastname : Varchar
email : Varchar
username : Varchar
password : Varchar

Create Exam
exame name : Varchar
Subject : Varchar
Date : Date

Create Award
award name : Varchar
Exam : Varchar
Price : double

View Result
regno : Integer
Exam name : Varchar
Subject : Varchar
Marks : Integer

add exam()
reset()

add award()
reset()

Result()

view Exam
Exam Name : Varchar
Subject : Varchar
Date : Date

View Award
award name : Varchar
Exam : Varchar
price : double

Edit()
Delete()

Edit()
Delete()

Edit()
Delete()

Class Diagram Teacher


36

Teacher-Login
username : Varchar
Password : Varchar
Role : Varchar
Submit()
Clear()

Create Student
Name : Varchar
Registerno : String
Gender : Varchar
Date of Birth : Date
email : Varchar
username : Varchar
Password : Varchar
mobile no : Integer

Create Exam
examname : Varchar
Subject : Varchar
Question : Varchar
choice A : Varchar
Choice B : Varchar
Choice C : Varchar
Choice D : Varchar
Answer : Varchar

Add Student()
Reset()

Add Question()
Reset()

View Student
Name : Varchar
Register No : String
Gender : Varchar
Date of Birth : Date
Email : Varchar
username : Varchar
Password : Varchar
Contact no : Integer
Edit()
Delete()

Class Diagram : Student


37

result
Register no : Integer
exam : Varchar
Subject : Varchar
Mark : Integer
View()

Student - Login
username : Varchar
Password : Varchar
Role : Varchar
Submit()
Clear()

Exam Prepage
Select Exam : Varchar
Select Subject : Varchar
Submit()

Take Question
Question : Varchar
Choice A : Varchar
Choice B : Varchar
Choice C : VArchar
Submit()

results
mark : Integer
View()

5.4 DATABASE DESIGN


38

Table Design
Table design is a collection of interrelated data items. The table for the new
system is designed by the techniques of the relational tables management System. It
provides flexibility in the storage and retrieval of the data in the order to anticipate the need
to meet unexpected requirements. Normalization can be done which is a process of
simplifying the relationship between data elements to produce successive simple and
manageable record structures. The following tables are used in the system.
Table - 1
Table Name: Login
Primary Key - id
S.NO
1

FIELd NAME
Id

DATA TYPE
Int

SIZE
5

Fname

Varchar

30

Lname

Varchar

30

Email

Varchar

30

Username

Varchar

30

Password

Varchar

30

Role

Varchar

30

Table 2
39

DESCRIPTION
Unique id for each
record
First Name for the
Admin or Teacher
or Student
Last Name for the
Admin or Teacher
or Student
Email Id for the
Admin or Teacher
or Student
User Id for the
Admin or Teacher
or Student
Password for the
Admin or Teacher
or Student
Role

Table Name: Exam


Primary Key- id
S.No

Field Name

Data Type

Size

Description

Id

int

11

Name

Varchar

30

Subject

varchar

30

Date

Date

10

Unique id for
each record
Name for
Exam
Subject for
Exam
Date

Table Name -3
Table Name:question
Primary Key: id
S.No
1

Field Name
Id

Data Type
Int

Size
5

2
3
4
5
6
7
8
9

Question
Subject
Choice1
Choice2
Choice3
Choice4
Answer
Exam

Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar

30
30
30
30
30
30
30
30

Table Name -4
40

Description
Unique Id for
Each Record
Question
Subject
Choice
Choice
Choice
Choice
Answer
Exam

Table Name:student
Primary Key: id
S.No
1

Field Name
Id

Data Type
Int

Size
5

Regno

Inter

Name

Varchar

30

Gender

Varchar

30

Dob

Varchar

30

Email

Varchar

30

Username

Varchar

30

Password

Varchar

30

Contactno

Bigint

10

Description
Unique Id for
Each Record
Regno for
Student
Name for the
Student
Gender for
Students
Date of Birth
for Students
Email for
Students
Username for
Students
Password for
Students
Contact
Number for
Students

Table 5
Table Name: result
Primary Key- id
S.No

Field Name

Data Type

Size

Description

Id

int

11

Exam

Varchar

30

Subject

varchar

30

Regno

Int

Mark

Int

Unique id for
each record
Name for
Exam
Subject for
Exam
Register
Number for
Students
Marks for
students

41

Table 6
Table Name: Award
Primary Key- id
S.No

Field Name

Data Type

Size

Description

Id

int

11

Name

Varchar

30

Exam

varchar

30

Unique id for
each record
Name for
Students
Exam

Price

Big int

10

Price

42

6. SYSTEM IMPLEMENTATION
Implementation is the stage in the project where the theoretical design is turned into
a working system and is giving confidence on the new system for the users that it will work
effectively. The last and the most important phase of the system Development Life Cycle is
the system implementation. It involves careful planning, investigation of the current system
and its constraints on implementation, design of methods to achieve the change over, an
evaluation, of change over methods.
Apart from planning major task of preparing the implementations are education and
training of users. The more complex the system being implemented, the more involved will
be the system analysis, and the design effort, required just for implementation. An
implementation coordination committee based on policies of individual organization has
been appointed. The implementation process begins with repairing a plan for the
implementation of the system.
After the system is implemented successfully, training of the users is one of the most
important subtasks of the developer. For this purpose user manuals are prepared and handled
over to the user to operate the developed system. Both the Hardware and software securities
are made to run the developed systems successfully in future.

43

7. SYSTEM TESTING
Result And Discussion

It is highly user friendly


Easy for user management
Less Error Prone
Faster performance
Generates accurate results

Performance And Evaluation


Many users has been made to work on the system and the performance of the system
is found to be satisfactory. The system was found to be working fine all the aspects
including

Data accuracy
Speed
Data Manipulation
Desired Results and so on..

Testing
Software testing represents the ultimate review of specification, design and coding.
Glen Myres states a number of rules that can serve well as testing objectives.

Testing has several purposes:


To affirm the quality of the project.
To find and eliminate any errors from previous stage.
To validate the software and to eliminate the operational reliability of the system.
Testing is a process of executing a program with the intent of finding an error.
A good test case is one that has a high probability of finding an as yet undiscovered
error. A successful test is one that uncovers an as yet undiscovered error.
Testing is a set of activities that can be planned in advance and conducted
systematically. The primary objective for test case design is to drive a set of tests
that has the highest likelihood for uncovering defects in the software. Testing begins
44

at the module level and works outward towards the integration of the entire
software.
Thus a series of testing are performed for the proposed system before the
system is ready for user acceptance. It involves the following activities.

Testing Strategies
Unit Testing
Unit testing focuses on testing the individual module. In this testing tests are
performed for individual entity or elements in order to rectify the very minor errors.
Unit testing focuses verification effort on the smallest unit of software design i.e.,
the software module. It is done at the very grass root level. The candidate system is
subjected to this test and the results are verified. Each module is checked for its
consistency. Data validation is checked to avoid incorrect flow of data with in the
system. The system is subjected to this test and the results are verified.
Each of the entry screens and reports were tested with data. Boundary
conditions are tested to ensure that modules operate properly at boundary. Execution
time and response time for each module were checked and they were found to be a
few seconds. The modules were checked by giving some unexpected inputs for
which the appropriate error messages were displayed and such entries were not
accepted by the application.

White Box Testing


White Box Testing also called Glass Box Testing is a test case design method
that uses the control structure of the procedural design to derive test cases. Using
the white box testing method we can guarantee that all independent paths within a
module have been exercised at least once.
It exercises all the logical decisions on their true and false sides. It executes
all loops at their boundaries and within their operational bounds and exercise internal
data structures to ensure their validity.

45

Black Box Testing


Black box testing focuses on the functional requirements of the software. It
enables the programmer to derive sets of input conditions that will fully exercise all
functional requirements for a program. Black box testing is not an alternate to white
box testing techniques. Rather it is a complementary approach that is likely to
uncover a different class of errors than white box testing. It attempts to find error in
the following categories.

Incorrect or Missing Functions, Interface Errors.


Interface Errors
Behavior or Performance errors
Initialization and Termination errors.

Integration Testing
Integration testing is a systematic testing for constructing the program structure. The
relationship between different modules is checked in integration testing for the overall
performance of the system.
In this test the integration of various models are tested for their inter-navigational
ease of use and their compatibility with each other.
It is a systematic technique for constructing the program structure while at the same
time conducting tests to uncover errors associated with interfacing. The major emphasis lies
on the effects of modification if any are made to any one of the module are there any change
in the performance of the remaining modules and study of their effects and rectifying them.
The testing operation conducted after combining all the system modules to check for
the correctness of the output is called Integration Testing. Even though a successful unit
testing is performed, it is necessary to check the output of the system after the successful
integration, since the links of integrity may lead to erroneous results. This test is done using
test cases and the results are proved to be consistent.

46

System Testing
Integration testing is a systematic technique for constructing the program structure,
while at the same time conducting tests to uncover errors associated with Interfacing. That
is the program is constructed and tested in small segments, which makes it easier to isolate
and correct.
System testing is actually a series of different tests, whose primary purpose is to test
the completed system in its entirely as a whole exercise. Although each test has different
purpose, we should verify that all the system elements have been properly integrated and
perform the allocated functions.

Performance Testing
Performance test was conducted to identify the bottlenecks involved in the system
and the evaluated the amount of execution time spent on various parts of the unit. The
response time for each of the activities performed by the verified and is found to reasonable.
This test is conducted to check for the performance of the system with varying volume of
data. The system is made to function on all week-days with varying volumes of inputs. The
output is verified and the results are accurate.

Functional Testing
Functional testing involves excising the code with nominal input values of with input
values of which the expected values are known i.e., the functions of specified module are
verified with these by using the result of which are known and then results are obtained and
compared with the results expected. Functional tests were performed for each module to test
whether the functional requirement of each of the module is satisfied. The functional test
ensures that the system produces the required results for the given inputs under typical
operating conditions.

47

Verification
Verification

test is carried out to verify whether the software function works

correctly. It should verify whether the software satisfies all the requirements that are
expected by the users. During design to use imaginary data for testing, but after to verify
whether the software function works correctly for the real data.

Validation
Validation testing is used to check whether the data given, as input is a valid data or
not. The wordpad is checked by performing the various word processing tasks. The video
and audio player is checked by play the different format of video and audio files. The
picture viewer is checked by viewing the different types of images. In this way validation is
performed in this project.

48

8. Coding:
packagedao;
importbeans.Beans;
importjava.math.BigInteger;
importjava.security.SecureRandom;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava.util.Random;
importjava.util.logging.Level;
importjava.util.logging.Logger;
importutil.Utility;
public class Dao {
Connection con = null;
PreparedStatementpstmt = null;
ResultSetrs;
publicArrayList<Beans>login(Beans bean) throws SQLException{
ArrayList<Beans> list = new ArrayList<Beans>();
try{
//log.info("Before checking Admin login Details..");
con = Utility.createConnection();
String query;
if(bean.getRole().equals("Student")){
query= "select * from student where username=? and password=?";
pstmt = con.prepareStatement(query);
pstmt.setString(1, bean.getUsername());
pstmt.setString(2, bean.getPassword());
rs = pstmt.executeQuery();
while(rs.next()){
Beans bean1= new Beans();
con = Utility.createConnection();
String query = "insert into exam(name,subject,date) values(?,?,?)";
//log.info("Before checking Admin login Details..");
49

// Random r=new Random();


//bean.setUsername(bean.getFname()+ r.nextInt(100));
// pg=new passwordgenerator();
// bean.setPassword(pg.nextSessionId());
con = Utility.createConnection();
String query = "update login set
username=?,password=?,role=?,fname=?,lname=?,email=? where id=?";
pstmt = con.prepareStatement(query);
pstmt.setString(1, bean.getUsername());
pstmt.setString(2, bean.getPassword());
pstmt.setString(3, bean.getRole());
pstmt.setString(4, bean.getFname());
pstmt.setString(5, bean.getLname());
pstmt.setString(6, bean.getEmail());
pstmt.setInt(7, bean.getId());
result=pstmt.execute();
//log.info("After checking Admin login Details..");
}catch(Exception e){
//log.error("Exception",e );
e.printStackTrace();
}finally{
pstmt.close();
con.close();
}
return result;
}
publicbooleanupdateexam(Beans bean) throws SQLException {
boolean result=false;
try{
con = Utility.createConnection();
String query = "update exam set name=?,subject=?,date=? where id=?";
pstmt = con.prepareStatement(query);
pstmt.setString(1, bean.getExamname());
pstmt.setString(2, bean.getSubject());
pstmt.setDate(3, bean.getDate());
pstmt.setInt(4, bean.getId());
result=pstmt.execute();
50

//log.info("After checking Admin login Details..");


}catch(Exception e){
//log.error("Exception",e );
e.printStackTrace();
}finally{
pstmt.close();
con.close();
}
return result;
}
publicbooleanupdateaward(Beans bean) throws SQLException {
boolean result=false;
try{
con = Utility.createConnection();
String query = "update awad set name=?,exam=?,Price=? where id=?";
pstmt = con.prepareStatement(query);
pstmt.setString(1, bean.getAwardname());
pstmt.setString(2, bean.getExamname());
pstmt.setLong(3, bean.getPrice());
pstmt.setInt(4, bean.getId());
result=pstmt.execute();
//log.info("After checking Admin login Details..");
}catch(Exception e){
//log.error("Exception",e );
e.printStackTrace();
}finally{
pstmt.close();
con.close();
}
return result;
}
publicbooleanupdatestudent(Beans bean) throws SQLException {
boolean result=false;
try{
con = Utility.createConnection();

51

String query = "update student set regno=?,name=?,gender=?


,dob=?,email=?,username=?,password=?,contactno=? where id=?";
pstmt = con.prepareStatement(query);
pstmt.setString(1, bean.getRegno());
pstmt.setString(2, bean.getStudentname());
pstmt.setString(3, bean.getGender());
pstmt.setDate(4, bean.getDob());
pstmt.setString(5, bean.getEmail());
pstmt.setString(6, bean.getUsername());
pstmt.setString(7, bean.getPassword());
pstmt.setLong(8, bean.getContactno());
pstmt.setInt(9, bean.getId());
result=pstmt.execute();
//log.info("After checking Admin login Details..");
}catch(Exception e){
//log.error("Exception",e );
e.printStackTrace();
}finally{
pstmt.close();
con.close();
}
return result;
}
publicArrayList<Beans>showteacher(String query) throws SQLException{
Statement st;
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
st= con.createStatement();
rs=st.executeQuery(query);
}
catch(Exception ex){
ex.printStackTrace();
}
while(rs.next()){
Beans bean1= new Beans();
bean1.setUsername(rs.getString("username"));
bean1.setRole(rs.getString("role"));
bean1.setId(rs.getInt("id"));
52

bean1.setPassword(rs.getString("password"));
bean1.setFname(rs.getString("fname"));
bean1.setLname(rs.getString("lname"));
bean1.setEmail(rs.getString("email"));
list.add(bean1);
}
return list;
}
publicArrayList<Beans>showexamname(String query) throws SQLException{
Statement st;
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
st= con.createStatement();
rs=st.executeQuery(query);
}
catch(Exception ex){
ex.printStackTrace();
}
while(rs.next()){
Beans bean1= new Beans();
bean1.setExamname(rs.getString("name"));
bean1.setSubject(rs.getString("subject"));
list.add(bean1);
}
return list;
}
publicArrayList<Beans>showexam(String query) throws SQLException{
Statement st;
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
st= con.createStatement();
rs=st.executeQuery(query);
}
catch(Exception ex){
ex.printStackTrace();
}
while(rs.next()){
Beans bean1= new Beans();
53

bean1.setExamname(rs.getString("name"));
bean1.setId(rs.getInt("id"));
bean1.setSubject(rs.getString("subject"));
bean1.setDate(rs.getDate("date"));
list.add(bean1);
}
return list;
}
publicArrayList<Beans>showresult(String query) throws SQLException{
Statement st;
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
st= con.createStatement();
rs=st.executeQuery(query);
}
catch(Exception ex){
ex.printStackTrace();
}
while(rs.next()){
Beans bean1= new Beans();
bean1.setRegno(rs.getString("regno"));
try{
con = Utility.createConnection();
pstmt = con.prepareStatement(query);
pstmt.setInt(1, bean.getId());
rs=pstmt.executeQuery();
System.out.println(bean.getId());
while(rs.next()){
Beans bean1= new Beans();
bean1.setExamname(rs.getString("name"));
bean1.setSubject(rs.getString("subject"));
bean1.setDate(rs.getDate("date"));
list.add(bean1);
}
}
catch(Exception ex){
ex.printStackTrace();
}
return list;
}
54

publicArrayList<Beans>showawardwhere(Beans bean) throws SQLException{


String query="select name,exam,Price from awad where id=?";
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
pstmt = con.prepareStatement(query);
pstmt.setInt(1, bean.getId());
rs=pstmt.executeQuery();
//System.out.println(bean.getId());
while(rs.next()){
Beans bean1= new Beans();
bean1.setAwardname(rs.getString("name"));
bean1.setExamname(rs.getString("exam"));
bean1.setPrice(rs.getLong("Price"));
list.add(bean1);
}
}
catch(Exception ex){
ex.printStackTrace();
}
return list;
}
publicArrayList<Beans>showstudentwhere(Beans bean) throws SQLException{
String query="select * from student where id=?";
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
pstmt = con.prepareStatement(query);
pstmt.setInt(1, bean.getId());
rs=pstmt.executeQuery();
//System.out.println(bean.getId());
while(rs.next()){
Beans bean1= new Beans();
bean1.setStudentname(rs.getString("name"));
bean1.setRegno(rs.getString("regno"));
bean1.setDob(rs.getDate("dob"));
bean1.setGender(rs.getString("gender"));
bean1.setUsername(rs.getString("username"));
bean1.setPassword(rs.getString("password"));
bean1.setContactno(rs.getLong("contactno"));
bean1.setEmail(rs.getString("email"));
55

list.add(bean1);
}
}
catch(Exception ex){
ex.printStackTrace();
}
return list;
}
publicbooleandeleteteacher(int id){
try {
con = Utility.createConnection();
String query = "delete from login where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
}
return true;
}
publicbooleandeleteexam(int id){
try {
con = Utility.createConnection();
String query = "delete from exam where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
}
return true;
}
publicbooleandeleteaward(int id){
try {
con = Utility.createConnection();
String query = "delete from awad where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
56

}
return true;
}
publicbooleandeletestudent(int id){
try {
con = Utility.createConnection();
String query = "delete from student where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
}
return true;
}
classpasswordgenerator{
privateSecureRandom random = new SecureRandom();
public String nextSessionId()
{
return new BigInteger(130, random).toString(32);
}
}

57

9. Screen Shots:
Home Page:

Login:

58

Admin Home Page:


59

Create Teacher:

60

View Teacher:

61

Create Exam:

62

View Exam:

63

Edit Exam:

64

Delete Exam:

65

Create Award

66

Teacher Home Page:

67

Create Student:

68

View Student:

69

Delete Student:

70

Create Question:

71

View Result:

72

Student Pre Exam Page:

73

Student Test Page:

74

Student Results:

75

10. Conclusion
Computerization is needed in this Shrinking world, where centralization is also
required with globalization. Conducting online test is a step in this direction to ease the
current structure of examination. This way of conducting test on one of the most secure
operating system and with highly sophisticated technology is cost effective and save time
too.
This way of conducting test not only save time but also lessens students and
teachers frustration. It is an easier way of giving examination, any person across the globe
can appear for the examination.

76

11. Future Enhancement

It has vast future scope, as it is not made for client server level so we can make it
for client server level too.
Every type of exam can be conducted online and it will lessen the teachers
frustration.
We can also conduct tests for various subjects and various difficulty levels.

77

12. Biblography
Books:
The Complete Reference Java2
By:-Herbert Schildt
Programming with Java
By:-E Balagurusamy
Websites:
www.java.sun.com
www.google.co.in
www.en.wikipedia.org

78

79