You are on page 1of 94

1

1.1. GENERAL INTRODUCTION


 Software Development services
 Engineering Services
 Systems Integration
 Customer Relationship Management
 Product Development
 Electronic Commerce
 Consulting
 IT Outsourcing

We apply technology with innovation and responsibility to


achieve two broad objectives:

 Effectively address the need of our Prisons today.


 Generate new opportunities that will help them stay
ahead in the future.

This approach rests on:

 A strategy where we architect, integrate and manage


Prison services – we call it AIM for PERFECTION.
 A robust offshore development methodology and
reduced demand on Prison services.
 A focus on the use of reusable frameworks to provide
cost and time benefits.

They combine the best people, processes and technology to


achieve excellent results-consistency. We offer Prison the
advantages of:

 BETTER USER INTERFACE.


 ENSURING SCALABILITY.
 RIGHT TOOLS TO RUN ADMINISTRATION SMOOTHLY.
 RECORDING AND TRACKING OF ALL PRISON
MOVEMENTS.
 INTEGRATION OF PRISON AND VISITOR MANAGEMENT
SYSTEMS.
 COMPREHENSIVE CULLING OF INFORMATION ABOUT
PRISONERS. COURT CASES AND CRIME.
 PROVISION OF AUTOMATED RELEASE DAIRY
GENERATOR.
 HANDLING VISIT REQUEST ONLINE
 GENERATES STATUS REPORTS

2
1.1.1 OBJECTIVES:
The Program will develop proficiency in four broad
areas:
1. Leadership, which will enable participants to
master complex material in managing prisons.

2. Knowledge of the economic, medical,


epidemiological, social, community and political aspects that
relate specifically to prison and to the prison service, in order
to understand their influence on the prisoners and their
implications on the whole of society.

3. Advanced skills of administration and policy


analysis and their implementation in prison management.

1.2. PROJECT DESCRIPTION


This project is aimed at developing a prison
management system that is a collection of registers and
reports for the effective management of prisons. This system
should contain the modules like nominal roll, case register,
parole register, Education, Training, Interview requests, In-out
register and an automated release diary generator.

1. Nominal Roll: The details of the prisoner and


his/her demographic details should be captured. A digital
photo comprising different views of the prisoner and the list of
articles surrendered by prisoner during nominal roll are to be
recorded.

2. Case register: All the details of the cases


against the prisoner should be captured. This must include
the sentence details, remand/conviction details, etc.

3. Automated release diary generator: This report


should be display the list of prisoners to be released on a day,
the next day, the next week, the next month, or any given
duration of time.

3
4. Parole register: This module should track all
prisoners on parole and provide necessary reports on this
data.
5. Education: This module consists of the
information about the education to the prisoner based on his
qualification and interest.
6. Training: This module consists of the
information about the training provided to the prisoner in
various works based on his interest.
7. Interview requests and In-out register: All
interview requests by the relatives of the prisoners need to be
recorded and tracked. An in-out register will track all
prisoners and others who move in and out for various
reasons.
8. Various status reports and demographical
analysis reports are to be generated.

9. Staff: This module consists of the information


about the staff like their name, designation, date of joining
etc.,

1.3 EXISTING SYSTEM AND


DRAWBACKS
Automation of Prison helps the jailor in order to
maintain the prison effectively and efficiently. It also keeps
track of information regarding prisoners and the visitors.
The major drawbacks of existing system are:
 The Manual record entry is very slow and often
tedious. Human errors are always possible in
entering the data. It takes lot of time to verify
where the data is entered incorrectly.
 Submission of illegal bills to the board. Fake
information is sent to the board regarding reception
of stock items.
 Difficulty in retrieval and access of data
 Lack of security, unauthorized access to data.
 Unnecessary investment towards inventory items.

4
 Does not integrate prison and visitor management
systems.
 Existing systems are stand alone.
 Do not have automated release dairy generator.
The current system is rigid. Many options for storing and
retrieving of records are not possible. There is no analysis, no
report generation in existing system

IDENTIFICATION OF NEED:

Prison management system is used for storing all the


data regarding the details of the prisoners , visitors and
the staff . The details regarding the prisoners include their
personal , case details .The details include not only the
prisoners personal details but also the type of crime he has
committed ,the duration of imprisonment ,his parole details
,their status report(released or not released) , his education
and training details . The details regarding the visitors include
their relation with prisoner , details of their visit to the
prison and providing online access to the visitor in order to
put a request to meet a particular prisoner .

In the changing world of today, the need for highly


effective management of prisons and other related institutions
has never been greater. The effective management of prisons,
has been linked, both in theory and practice, to sustained
economic development and is a major vehicle through which
to develop modern prison management systems and
principles. Governments and prison services around the world
are undergoing processes of renewal and reform that pose
new challenges and opportunities in prison management.
These same challenges and opportunities demand new
knowledge, skills and leadership abilities.

The shift in the focus of prison management, which


leads to the move from an input to an output orientation, a
stress on quality prisoner-based service and the increasing
role of performance-based management systems, gives rise
to a new concept of responsible professionalism within the
prison.

Prison reform does not focus solely on transitional countries,


but forms part of a worldwide movement. Examples of such
reforms indicate major changes in:

5
 Decreasing the overall size of the prison bureaucracy

 Strengthening the policy-making role of senior officials at


the national administration level

 A shift in the role of bureaucrats from policy initiators to


policy advisers and implementers

 A decentralization of central administration functions to the


level of the local prison manager

 A strengthening of the policy and technical support


systems within the prison administration

NEED FOR AUTOMATION

The need for automation was felt because of the inability to


monitor and keep track of the large amount of data received.
 Physical handling of the voluminous data is problematic
to the store people.
 There is no security for the information.
 It causes inconvenience to the store to view the
previous year details.
 Generation of statistical reports from the bulk of data
becomes tedious.

1.4. PROPOSED SYSTEM


The proposed system computerizes the
maintenance of the records about the prisoners in the prison
with out much strain to the users. In the system the visitors
can also book the slots online to visit the prison. If the slot for
the particular day is empty then he will be allowed to visit the

6
prison otherwise he will not be allowed. The Jailor has various
services spread out in the system by which he can maintain
the records more conveniently than in the manual system in
an organized way.

 Integrates both prison and visitor management


systems.
 Has automated release dairy generator.
 Is a web application which can be accessed
online.

Benefits of Automated Prison Management


System :

 This project is completely secured and automated in


order to make it easy for the jailor and visitors to
access the information on a single mouse click.
 All information is stored in the database providing
better user interface.
 Details can be entered and modified by jailor.
 Easy approval or rejection of the visitor.
 Easy accessing of the management system to necessary
timely changes.
 This PRISON MANAGEMENT SYSTEM project is all set to
bring ease and accuracy in the work there by saving the
man power and time to a great extent.

7
8
SYSTEM:
 Designing and implementing the new links.
 Designing and implementing the users.
 Arranging new links as subject wise.

SYSTEM ANALYSIS:
System analysis will be performed to
determine if it is feasible to design information based on
policies and plans of the organization and on user
requirements and to eliminate the weaknesses of the present
system.
 The new system should be cost effective.
 To augment management , improve productivity and
services.
 To enhance user / system interface.
 To improve information qualify and usability.
 To upgrade systems reliability , availability , flexibility
and growth potential.

2.1. PROBLEM STATEMENT


The objective of the project is to design and
develop prison management system for prisons in order to
handle the prisoners and visitors records. The authorized
person is jailer who updates the records of prisoners and
visitors .A visitor can retrieve the application online and has
rights to access only his account .A common man can also
use this site for viewing the prison details .

2.2. PROBLEM DESCRIPTION

Prison Management System provides the solution to


update and preserve the complete record of inmates, enhance
security, and further improve the management and planning
of jails.

9
The scope of the software is to develop the
management information system of prisons which will provide
automated prison management system (APMS) of all inmates
housed in jail. This system aims to digitize the MIS modules,
which include prisoners nominal roll where the details of the
prisoner and his/her demographic details will be captured,
Case register, Interview requests and an Automated release
diary generator which displays the list of prisoners to be
released on any given duration of time to efficiently manage
jail affairs.

PMS –Prison Management System is a secure system to


modernize Inmate Record maintenance which facilitates
electronic processing and the management of such activity to
provide higher level of compliance and faster service with
lower cost and higher efficiency.

PMS aims at fair and transparent implementation and


management of inmate attribute data .The PMS also
maintains Parole register which tracks all prisoners on parole
and provide necessary reports on this data. An In-Out register
will track all prisoners and others who move in and out for
various reasons which include provisions for recording the
prisoners sent to courts for hearing.

The visitors and jailor can log in and the jailer can
generate various status reports as well as demographical
analysis reports.

MODULES:

VISITOR:

Every prisoner is associated with four


visitors.This module enables the visitor to view his visit details
and has the previlige to put a request to meet a particular
prisoner.He can also view the status (released/not-released)
of his prisoner .

JAILER:

The jailer is the administrator who uploads the


details of the prisoner,view the details of the prisoner and his
associated visitors.He has access to the following modules.

10
 Nominal Roll: The details of the prisoner and his/her
demographic details should be captured. A digital photo
comprising different views of the prisoner and the list of
articles surrendered by prisoner during nominal roll are
to be recorded.
 Case register: All the details of the cases against the
prisoner should be captured. This must include the
sentence details, remand/conviction details, etc.
 Automated release diary generator: This report should
be display the list of prisoners to be released on a day,
the next day, the next week, the next month, or any
given duration of time.
 Parole register: This module should track all
prisoners on parole and provide necessary reports on
this data.
 Education: This module consists of the information
about the education to the prisoner based on his
qualification and interest.
 Training: This module consists of the information
about the training provided to the prisoner in
various works based on his interest.
 Staff: This module consists of the information about
the staff like their name, designation, date of joining
etc.,

2.3 HARDWARE & SOFTWARE SPECIFICATIONS

2.2.1 HARDWARE REQUIREMENTS:

Processor : Intel P-IV system


Processor Speed : 250MHz to 833MHz
RAM : 256MB RAM
Hard Disk : 40GB

2.2.2 SOFTWARE REQUIREMENTS:

Operating System : Windows XP


Database : Oracle 9i
Server side technology : Servlets
Server side scripting : JSP
Client side scripting : HTML,Javascript
Web-Server : Tomcat

11
12
3.1SERVER SIDE DESIGN

Java
Introduction:

Java was conceived by James Gosling, Patrick


Naughton, Chris Warth, EdFrank and Mike Sheridan at Sun
Microsystems in 1991. It took 18 months to develop the first
working version. This language was initially called “oak” but
was renamed “Java” in 1995. The original impetus for Java
was not the internet instead, the primary motivation was the
need for a platform independent (that is architecture-neutral)
language that could be used to create software to be
embedded in various consumer electronic devices.

The trouble with C and C++ is that they are


designed to be complied for a specific target. Although it is
possible to compile a C++ program for just about any type of
CPU, to do so requires a full C++ compiler targeted for that
CPU. The problem is that compilers are expensive and time
consuming to create. An easier and more cost efficient
solution was needed. In an attempt to find such a solution,
Gosling and others began work on a portable, platform
independent language that could be used to produce code
that would run on a variety of CPU’s under differing
environments. This effort ultimately led to the creation of
Java.

The second factor that would play a critical role in


the future of Java was the World Wide Web. With the
emergence of the World Wide Web, Java was propelled to the
forefront of computer language design, because the web, too,
demanded portable programs. With the advent of the internet
and the web, the old problem of portability returned with a
vengeance. The Internet consists of a diverse, distributed
universe populated with many types of computers, operating
systems, and CPU’s. Even though many types of platforms are
attached to the Internet, users would like them all to run the
same program. What was once an irritating but low priority
problem had become a high profile necessity. While the desire
for an architecture neutral programming language provided
the initial spark, the Internet ultimately led to Java’s large
scale success. Java derives much of its character from C and

13
C++. In addition to surfacing similarities, Java shares some of
the other attributes that helped make C and C++ successful.

Features of the Java:

The Common Language Runtime provides a Code-


Execution Environment that Manages code targeting the .NET
Framework. Code Management can take the form of Memory
Management, Thread Management, Security Management,
Code Verification and Compilation, and other System
Services.
Managed Components are awarded varying degrees of trust,
depending on a number of factors that include their origin
(such as the Internet, Enterprise Network, or Local
Computer). This means that a Managed Component might or
might not be able to perform File-access Operations, Registry-
access Operations, or other Sensitive Functions, even if it is
being used in the same active application.

The runtime enforces Security in a way that enables


users to trust that although an executable attached to E-Mail
can play an animation on screen or sing a song, it cannot
access their personal data, File System, or Network. The
Security Features of the runtime thus enable legitimate
Internet-Deployed Software to be exceptionally feature-rich.

The runtime also enforces code robustness by


implementing a Strict Type and Code Verification
infrastructure called the Common Type System (CTS). The
CTS ensures that all Managed Code is self-describing. The
various Microsoft and third-party language compilers generate
Managed Code that conforms to the CTS. This means that
Managed Code can consume other Managed Classes, Types,
and Objects, while strictly enforcing type fidelity and Type
Safety.

In addition, the Managed Environment of the runtime


ensures that the most common types of software issues are
solved or eradicated completely. For example, the runtime
automatically handles object layout and manages references
to objects, releasing them when they are no longer being
used. This automatic Memory Management eliminates the two

14
most common application errors, memory leaks and invalid
memory references.

The runtime, coupled with the CTS, also accelerates


developer productivity. For example, programmers can use
their favorite development language, being absolutely assured
that they can still take full advantage of the runtime, the class
library, and components written in other languages by other
developers. Any compiler vendor who chooses to target the
runtime can do so. Language compilers that target the .NET
Framework make the features of the .NET Framework
available to existing code written in that language, thus
greatly easing the migration process for existing applications.

Although the runtime is designed for the software of


the future, it also supports software of today and yesterday.
Interoperability between Managed and Unmanaged Code
enables developers to continue to use necessary COM
components and DLLs.

The runtime is designed to enhance Performance. A


feature called Just-In-Time (JIT) compiling enables all
Managed Code to run in the Native Machine Language of the
system on which it is executing.

Finally, the runtime can be hosted by High-


performance, Server-side applications, such as Internet
Information Services (IIS) and Microsoft SQL Server. This
enables you to use Managed Code to write your business
logic, while still enjoying the superior performance of the
industry's best enterprise servers.

Java Database Connectivity (JDBC):

JDBC is a set specification that defines how a


program written in Java can communicate and interact with a
database. It provides a vehicle for the exchange of data
between Java application and databases. Programs developed
with Java and the JDBC are platform independent and vendor
independent.

The same Java database program can run on PC, a


workstation, or Java powered terminal. You can move your
data from one database to another, for example from
Microsoft SQL Server to Oracle and the same program can still
read your data. This is in sharp contrast to the database
programming typically done on personal computers today. It

15
is common that one writes the database application in
proprietary database language, using a database
management system that is available only from one or two
platforms.

At the heart of the JDBC is the JDBC driver. JDBC


driver is responsible for ensuring that a request made by the
application is presented to the database in away that is
meaningful to the databases. JDBC was designed to support
the most common form of SQL known as ANSI SQL 92 entry
level standard.

The JDBC consists of two layers. The top layer is the


JDBC API. This API communicates with JDBC manager driver
API sending, it the various SQL statements. The manager
should communicate with the various third party drivers that
actually connect to the database and return the information
from the query or performed the action specified by the
query.

NETWORK
JDBC
Application INTERFACE
API

DATABASE NETWOR

Figure illustrates the role of JDBC

Typical uses of the JDBC

Just as one can use Java for both


applications and applets, one can use the JDBC enhanced
version of Java in both applications and applets, when that
version is used in an applet, all the normal security
restrictions applied. JDBC continues to assume all applets are
trusted.

In particular, applets that use JDBC would


only be able to open a database connection from the server
from which they are downloaded. They can make neither
explicit nor implicit use of information. Although the JDBC
extensions of the Java security model allow on to download a

16
JDBC driver and register it with JDBC device manager on the
server, that driver can be used only for connections from the
same server the applet came from. That means the web
server and the database must be the same machine, which is
not a typical set up. Of course, the web server can have a
proxy service that routes database traffic to another machine.
When signed Java applets become possible these restrictions
could be loosen.

Applications on the other hand have


complete freedom. They can give the application the total
access to files and remote servers. We envision that JDBC
applications will be very common.

Components of JDBC

There are three components to the JDBC


The JDBC driver manager
The JDBC driver test suite

The JDBC-ODBC bridge

The JDBC driver manager is the backbone of the


JDBC architecture. It actually quite small and simple its
primary function is to connect Java applications to the connect
JDBC driver and then get out of the way.

The JDBC driver test suite provides some


confidence that JDBC drivers will run your program. Only
drivers that pass the JDBC driver test suite can be designated
JDBC COMPLIANT.

The JDBC-ODBC Bridge allows ODBC drivers


to be used as JDBC drivers. It was implemented; as a way to
get JDBC off the ground quickly, a long term will provide a
way to access some of the less popular DBMS if JDBC drivers
are not implemented for them.

JDBC-ODBC Bridge:

ODBC driver is the only driver that can be


used with the multiple databases and is vendor independent.
The ODBC interface remains constant no matter which
database is used. This means that this type of JDBC driver
only needs to speak only one language ODBC. The JDBC-

17
ODBC drivers use a bridge technology to connect a Java client
to an ODBC database service. Sun’s JDBC-ODBC bridge is the
most common of this type of driver. These drivers are
implemented using Native Code.

Type 1 drivers can be used for the following


implementations:

 Quick system prototyping.


 Three-tier database systems.

Database systems that provide an ODBC driver but


not a JDBC driver.
Low cost database solution where an ODBC driver is
already present.

Native-API-Party-Java Driver:

This makes use of local native libraries to


communicate with the database. The driver does this by
making call o the locally installed native call level interface
(CLI). The CLI libraries are responsible for the actual
communication with the database server. These drivers wrap
a thin layer around database-specific native code libraries.
Since these drivers are implemented using native code, in
some cases hey have better performance than their all-Java
counterparts.

They add an element of risk, however, because a


defect in a driver native code section can crash the entire
server. Another restriction is the inability to use it in entrusted
applets. Also, since the JDBC driver uses native libraries,
these libraries must be installed and configured on each

18
machine that will be using the driver. Type 2 drivers can be
used for the following implementations.

As an alternative to the JDBC-ODBC bridge. Since


type 2 drivers interface directly with the database, they will
perform better than the bridge.
As a low-cost database solution where a major
database system providing a type 2 drivers is already being
used.

JDBC-Net-All-Java-Driver:

Type 3 drivers are used in a three-tier solution


and can be deployed over the Internet. These drivers
communicate with some middle tier via a generic network
protocol. The middle tier will most likely reside on a web or
database server and in turn communicate with the database
product via the JDBC-ODBC Bridge, either type 2 or type 4
drivers. These drivers are all Java and therefore are useful for
applet deployment and safe fro Servlet deployment. Type 3
drivers can be used for the following implementations

Web-deployed applets that do not require any


preinstallation or configuration or software.

Secure systems where the database product will be


protected behind a middle tier.

Flexible solutions where there are different database


products in use-the middle tier software can usually acts as
an interface to any database product accessed via JDBC.

Clients requiring a small footprint because size of


type 3 drivers is usually much smaller than all other types.

19
Middle Ware
Java JDBC Type III Server
Application Driver

Database DBMS client


DATABASE Server

Figure 2.12

Native-protocol-All-Java-Driver:

This kind of driver converts JDBC calls into the


network protocol used by DBMS directly. This allows a direct
call from the client machine to the DBMS server and is
practical solution for Internet access. Since many of these
protocols are proprietary, the database vendors themselves
will be the primary source and database vendors have these
in progress.
Type 4 drivers understand database specific
networking protocols and can access the database directly
without any additional software. The advantage of using type
4 drivers is that there are no layers of native code or middle-
tier software between the client and the database engine.
Type 4 drivers can be used for the following implementations .

 When high performance is critical


 In environments where only one database product is in
use.
 Web-deployed applets, depending upon the capabilities
of the driver.

20
Java JDBC Type IV DBMS Client
Application Driver Interface

DATABASE

Servlet

In the early days of the web, a server could


dynamically construct a page by creating a separate process
to handle each client request. The process would open
connection to one or more databases in order to obtain the
necessary information. It communicated with the web server
via an interface known as the Common Gateway Interface
(CGI). CGI allowed the separate process a read data from
HTTP request and write data to the HTTP response. A variety
of different languages were used to build CGI programs
including C, C++ and Perl.

However, CGI suffered serious performance


problems. Creating a separate process for each request was
expensive, in terms of the processor and resources. It was
also expensive to open and close database connections for
each request.

Advantage of Servlet over Common Gateway


Interface (CGI):

Performance is significantly better. Servlet


execute within the address space of a web browser. Creating
a separate process to handle each request isn’t necessary.
Figure 2.14
Servlets are platform-independent, because
they are written in Java. Several web servers, from vendors
such as Sun, Netscape and Microsoft offers the Servlet API.
Programs developed for this API can be moved to any of
these environments without recompilation
The Java security manager on the server
enforces a set of restrictions to protect the resources on a
server machine. You will see that some Servlets are trusted

21
and others are not trusted. The full functionality of the class
libraries is available to a Servlet.

The Servlet Life Cycle:

Three methods are central to the cycle of a Servlet:


Init ()
Service ()
Destroy ()

They are implemented by every Servlet and are


invoked at specific times by the server. Consider next a typical
user scenario, to understand when these methods are called.

First, assume that a user enters a Uniform Resource


Locator (URL) to the web browser. The Browser then
generates a HTTP request for this URL and sends it to the
appropriate server.

Second, the web server receives this HTTP


request. The server maps this request to a particular Servlet.
This Servlet is dynamically retrieved and located into the
address space of the server.
Third, the server invokes the init () method of the
Servlet. This method is invoked only when the Servlet is first
loaded into the memory. You will see the initialization
parameters can be passed to the Servlet so that it may
configure itself.

Fourth, the server invokes the Servlets service ()


method, which is called to process the HTTP request. You will

22
see that the Servlet can read data that has been provided in
the HTTP request, and may also formulate an HTTP response
for the client.

The Servlet remains in the servers address space


and is available to process any other HTTP requests received
from clients without creating any new process. The service ()
method is called for each HTTP request

Finally the server may decide to unload the Servlet


from its memory. The algorithms by which this determination
is made are specific to each server. The server calls destroy ()
method to relinquish any resources, such as file handlers that
are allocated for a Servlet. Important data may be saved to a
persistent store. The memory allocated for the Servlet and its
objects can then be garbage collected.

Architecture of Servlet:

The central abstraction in the JSDK is the Servlet


interface. All Servlet implements this interface, either directly
or more commonly by extending a class that implements it
such as the Generic Servlet or the HTTP Servlet. The Servlet
interface provides for methods that manage the Servlet and
it’s developing a Servlet.

When a Servlet accepts a call from client it receives


two object one is the Servlet request and the other is the
Servlet response. The Servlet request class encapsulates the

23
communication from back to the client. The Servlet request
interface allows the Servlet access to the information such as
the names of the parameters passed in by the client, the
protocol (scheme) being used by the client, and the names of
the remote host that made the request and the server that
received it. It also provides the Servlet to access the input
stream. Servlet classes of Servlet request allow the Servlet to
retrieve more protocol specific data Input stream, through
which the Servlet gets data from clients that are using
application, protocols such as the HTTP POST and PUT
methods. Subclasses of Servlet request allow the Servlet
more protocol specific data.

The Servlet response interfaces give the Servlet


methods to the client. It allows the Servlet to set the content
length and mime type of the reply and provides an output
stream. Servlet output stream and a writer through which the
Servlet can send the reply data. Subclasses of Servlet
response give the Servlet more protocol specific capabilities.
For example, ‘HTTPServletResponse’ contains methods that
allow the Servlet to manipulate the HTTP specific header
information.

Services load and run Servlet, which then accept


zero or more requests from clients and return data to them.
They can also remove Servlet. These are the steps of a
Servlet life cycle.

When a service () loads a Servlet, it runs the


Servlet’s init ( ) method. Even though most Servlets are run
in multi-threaded services, there are no concurrency issues
during Servlet initialization. This is because the service calls
the init () method once, when it loads the Servlet, and will
not call it again unless it is reloading the Servlet. The service
() method cannot reload a Servlet until after it has removed
the Servlet by calling destroy () methods. Initialization is
allowed to complete before the client requests are handled or
the Servlet is destroyed.

Each client’s request has its call to the service ()


method run in its own Servlet. The method receives the
client’s request and sends the client its response. Servlets can
run multiple service () methods at a time. It is important
therefore that the service () methods be written in a thread-
safe manner until they are removed from the service. When a
service removes a Servlet, it removes a Servlet by running
the Servlet destroy () method. The method is run once; the

24
service will not run it again until after it reloads and
reinitializes the Servlet. When destroy () method runs,
however, other threads might be running service requests. If
in cleaning up, it is necessary to access shared resources that
access should be synchronized.

Apache web server

Apache is currently the leading UNIX Web Server. It


is high performance HTTPd (HTTP daemon) server that it
roots in UNIX.A daemon is a UNIX background process that
implements the server side of a protocol.

The Apache Web Server is a drop-in replacement for


National Center for Supercomputing Applications (NCSA)
HTTPd server. On a Web Server already running NCSA, one
can simply compile Apache and the HTTPd binary from NCSA
with the new Apache binary. The Apache Group develops it.
Apache comes in source form and can be compiled on many
platforms such as Linux, SCO UNIX and Solaris.

Apache HTTP Server:

 Is a powerful, flexible, HTTP/1.1 compliant web server.


 Implements the latest protocols, including
HTTP/1.1(RFC2616).
 Is highly configurable and extensible with third-party
modules.
 Can be customized by writing modules using the Apache
module API.
 Provides full source code and comes with an
unrestrictive license.
 Encourages user feedback through new ideas, bug
reports and patches.

Apache Tomcat is the servlet container that is used


in the official Reference Implementation for the Java Servlet
and JavaServer Pages technologies.Apache Tomcat powers
numerous large-scale, mission-critical web applications across
a diverse range of industries and organizations.

Apache Tomcat Versions

Servlet/JSP Spec Apache Tomcat version

25
2.5/2.1 6.0.10
2.4/2.0 5.5.23
2.3/1.2 4.1.34
2.2/1.1 3.3.2

Apache Tomcat version 5.5 implements the Servlet


2.4 and JavaServer Pages 2.0 specifications from the Java
Community Process, and includes many additional features
that make it a useful platform for developing and deploying
web applications and web services.

APACHE TOMCAT SERVER:


Apache Tomcat is a web container developed at the
Apache Software Foundation (ASF). Tomcat implements the
servlet and the Java Server Pages (JSP) specifications from
Sun Microsystems, providing an environment for Java code to
run in cooperation with a web server. It adds tools for
configuration and management but can also be configured by
editing configuration files that are normally XML-formatted.
Tomcat includes its own HTTP server internally.

Environment:

Tomcat is a web server that supports servlets and JSPs.


The accompanying Tomcat Jasper compiler compiles JSPs into
servlets.
The Tomcat servlet engine is often used in combination
with an Apache HTTP Server or other web servers. Tomcat can
also function as an independent web server. Earlier in its
development, the perception existed that standalone Tomcat
was only suitable for development environments and other
environments with minimal requirements for speed and
transaction handling. However, that perception no longer
exists; Tomcat is increasingly used as a standalone web
server in high-traffic, high-availability environments.

Tomcat is cross-platform, running on any operating system


that has a Java Runtime Environment.
The following properties can be specified, either as system
properties, or by using a deployer.properties file located in the
root folder of the deployer package:

 build: The build folder used will be, by default,


${build}/webapp${path}. After the end of the
execution of the compile target, the web application
WAR will be located at ${build}/webapp${path}.war.

26
 webapp: Folder containing the expanded web
application which will be compiled and validated. By
default, the folder is myapp.
 path: Deployed context path of the web application, by
default /myapp.
 url: Absolute URL to the manager web application of a
running Tomcat server, which will be used to deploy and
undeploy the web application. By default, the deployer
will attempt to access a Tomcat instance running on
localhost, at http://localhost:8080/manager.
 username: Username to be used to connect to the
Tomcat manager.
 password: Password to be used to connect to the
Tomcat manager

A web application which is programmatically


developed by the developer is stored in the webapps folder
and WEB-INF folder also saved in that location which consists
of folder named classes which supports to run application
automatically.

The deployer package includes a ready to use Ant script, with


the following targets:

 compile (default): Compile and validate the web


application. This can be used standalone, and does not
need a running Tomcat server. The compiled application
will only run on the associated Tomcat 5.0.x server
release, and is not guaranteed to work on another
Tomcat release, as the code generated by Jasper
depends on its runtime component. It should also be
noted that this target will also compile automatically
any Java source file located in the /WEB-INF/classes
folder of the web application.
 deploy: Deploy a web application (compiled or not) to a
Tomcat server
 undeploy: Undeploy a web application
 start: Start web application
 reload: Reload web application
 stop: Stop web application

27
ORACLE9i

3.1.4.1 Database Management Systems


(DBMS):

A DBMS consists of a collection of interrelated data


and a set of programs to access that data and to modify the
data. The collection of data is usually referred as the
“database”. The database contains information about any
particular enterprise. The primary goal of a DBMS is to
provide an environment that is both convenient and efficient
to use in retrieving and storing information into the database.

Database systems are designed to manage large


bodies of information. The management of data involves both
the definition of the structure for the storage of information
and the provision of mechanisms for the manipulation of
information. In addition the database system must provide for
the safety of information stored in the database despite
crashes or attempts by users, the system must avoid possible
anomalous results.

Characteristics of Database Management


Systems:

• It represents complex relationships between data.


• Keeps a tight control on data redundancy.
• Enforces user-defined rules to ensure that integrity of
table data.
• Enforces threat data can be shared by different
applications.
• Enforces data access authorization.
• Have automatic, intelligent backup and recovery
procedures for data interfaces via which users can
manipulate data.

The data is stored in the form of tables. The tables


consist of one or more records or rows. Each row has one or
more fields or columns. The unit of data is accessed by a row
and column intersection. A column that has a unique set of
values through out the table can be used to access the data.
Such a column is called the “Key” or the “Primary Key”. If no
such single column exists, using a set of columns such that
when combined they are unique throughout the table can
access the data. These set of columns are called “Composite
Key”.

28
In short modern (Relational) RDBMS act as a
transparent interface between the physical storage and the
logical presentation of data. It provides a set of flexible and
sophisticated tools for handling information. The tools can be
used to
• Define database.
• Query a database.
• Add, delete and modify the database.
• Modify the structure of the database.
• Secure the data public access.
• Communications within networks/time sharing
environments.
• Export and import the data.

3.1.4.2 Data Definition Language (DDL):

A database schema is especially by a set of


definitions, which are expressed by a special language called
Data Definition Language. The result is a set of tables, which
are stored in a special file as data dictionary.

3.1.4.3 Data Manipulation Language (DML):

By data manipulate we mean that


• The retrieval of information stored in the database.
• The insertion of information into the database.
• The deletion of information from the database.

The goal should be to provide efficient human


interaction with the system. The DML is a language that
enables us to a view data as organized by the appropriate
data model. There are basically two types of data
manipulation languages, they are:

• Procedural: DML requires the user to specify what


data is needed and how to get it. Here the data gets
modified in each procedure and execution is in the form
of procedure by procedure.
• Non-Procedural: DML requires the user to specify
what data is needed without specifying how to get it.
The form is based on certain events that are event
driven. On procedural DML is usually easier to learn
than procedural DML.

29
A query is a statement requesting the retrieval of
information. The portion of DML that involves information
retrieval is called “Query Language”. Hence sometimes DML is
also called as query language.

Overview:

An overview of the changes that have been made to


Oracle 9i to improve the following technical aspects :-

 database performance
 ease of management
 scalability
 security
 availability

Windows 2000 integration and application


areas:

 Internet content management


 ecommerce integration
 packaged applications
 Business Intelligence

All these topics will be explored farther in the coming


issues so for this issue I have provided only brief details about
each area of improvement, just to give you a feel for what
has changed, so that you can decide whether or not to take
advantage of them.

Oracle 9i Performance Improvements

Performance is always a big issue with databases,


there are innumerable books on the subject and I've just
written a whole series of articles on performance, so what's
new in Oracle9i in the way of performance enhancements ?
Well, I guess the biggest improvements have been to Parallel
Server which Oracle now calls Real Application Clusters and
which allow applications to use clustered servers without
modification. Other improvements include:

 native compilation of PL/SQL

30
 reduction in latch contention (SGA locks) and I/O
improvements
 better Java performance (better compilation, improved
garbage collection)
 distributed database performance enhancements

Oracle 9i Manageability Enhancements

Ease of management of the database has always


been a bone of contention, especially configuration of rollback
segments and such like, so Oracle have made great strides to
improve manageability as the complexity of the database has
increased. These improvements include:
 automatic rollback segment management
 many operations management enhancements
 Oracle Enterprise Manager enhancements

Oracle 9i Scalability Enhancements

As the demand for databases to be able to support more and


more users continues, issues of scalability become more
important. Improvements in this area consist of:

 Real Application Clusters - new servers can be added as


required
 reduced resource requirements per user
 improved resource management features to give
greater control at lower levels

Oracle 9i Security Enhancements

As the number of users increase and the locations and types


of users become more diverse, better security (and privacy)
features become essential. The security improvements for
Oracle 9i are:

 enhanced 3-tier security (integration with LDAP ...)


 improved hosting security (through use of virtual
private databases), fine-grained auditing and single
sign-on
 improved user security (more password management
features, etc.)
 ability to encrypt stored data
 row-level access control (Oracle Label Security)

Oracle 9i Availability Enhancements

31
For the last few releases Oracle have been putting a
lot of effort into increasing database availability and this
continues with Oracle 9i with new features including:-

 disaster recovery enhancements (standby database


management, LogMiner)
 reduction in off-line maintenance requirements
(CREATE TABLE ... AS SELECT... etc.)
 faster and more precise database repair (after
corruption/instance failure)
 enabling queries to go back in time with flashback
queries

INTERNET CONTENT MANAGEMENT

Oracle 9i can be used for the storage and manipulation of


many different types of data. The new features are:-
 Internet File Store improvements
 searching/indexing of multimedia and XML data
 support for collaborative projects via the creation of
shared workspaces, allowing multiple versions of
content to exists simultaneously
 ability to create applications to make use of location
information of clients and services (e.g. for use with
mobile phones)

WINDOWS INTEGRATION

Oracle 9i has been enhanced to take advantage of


the new Windows features including:

 integration of single sign-on and PKI with Active


Directory and Microsoft Certificate Store
 better integration with IIS and Microsoft's
Transaction Services and Message Queuing
 enhanced development features (Oracle Data Objects
etc.)

32
3.2.CLIENT SIDE DESIGN

Hyper Text Markup Language (HTML)

HTML is a static language used to create hypertext


documents that have hyperlinks embedded in them. You can
build web pages. It is only formatting language and not a
programming language. Hyperlinks are underlined or
emphasized words or locations in a screen that lead to other
documents. WWW is a global, interactive, graphical, hypertext
information system.

The behind hypertext is that instead of reading text


in rigid linear structure you can easily jump from point to
another point. You can navigate through the information
based on your interest and preferences.

Hyper Media:

HTML pages audio and video files linked to then are


Hyper Media.

HTML is Platform Independent:

If you can access Internet, you can access WWW,


irrespective of your Operating System and the Operating
System of Web Server you are accessing. All you require is to
view and download the HTML files, which are on the WWW,
are browser and Internet connections.

HTML is a language for describing structured


documents. HTML describes the structure of documents-lists,
heading, and paragraph, etc. Elements of web document are
through the usage of HTML tags. It is tags that describe
documents. Anything that is not a tab is part of a document
itself.

HTML does not describe Page Layout:

Word for Windows or Lotus AmiPro for example, has


different styles for Headings, fonts, size and identification.
HTML does not have all these.

Based on the platform, exact placement or


appearance of any element will change. There may be or may

33
not be fonts installed. So your formatted text will appear
differently on differently on different machines/platforms.

By separating the structure of the document and its


appearance, a program that reads and understands HTML can
make formatting decision based on capabilities of the
individual platform.

In addition to providing the networking functions to


retrieve documents, web browsers are also HTML formatters.
They parse and format documents and display them on the
screen. Different browsers show data differently.

Advantages:

An HTML document is a small and hence easy to


send over the net. It is small because it does not include
format information.
HTML documents are cross platform compatible and device
independent. You only need HTML readable browser to view
them. Font names, locations etc are required.

Java Script:

JavaScript is popular scripting language that lets you


embed your programs and run these in a web browser. These
programs can be placed in a <SCRIPT> tag with a language
property setting to “JAVASCRIPT”, which is in either <HEAD>
or <BODY> tag. It makes the static web page that developed
using static HTML tags to dynamic by using Java language
syntax and its attributes and so is case sensitive.

JavaScript is used to perform the client side


validations dynamically at run time. It is said to be an Object
based programming language where it has a rich support of
predefined objects, which can be used directly without any
creation of an instance. Some of these objects are document,
form, frame, history, window, location…etc. Each of the
objects, will have its own methods and properties. Methods
can be used to perform some actions with that object.
Besides performing actions using methods one can also read
and change settings in those objects using properties.

JavaScript, like Java, also supports a rich set of


events such as onAbort, onClick, onMouseMove, onLoad and
onSubmit etc, to perform dynamic executions on occurrence

34
of some corresponding events. A handler can handle each
event occurrences.

Uses of JavaScript:

JavaScript provides a fairly complete set of built-in


functions and commands, enabling you to perform Math
calculations, manipulate strings, play sounds, open new
windows and new URLs, and access and verify user input to
your Web forms.

Code to perform these functions can be embedded


in a page and executed when the page is loaded. We can also
write functions containing code that is triggered by events
you specify. You can write a JavaScript method that is called
when the user clicks submit button of a form, for example, or
one that is active when the user clicks a hyperlink on the
active page.

JavaScript can also set the attributes, or properties,


of web page elements, Active-x controls, Java Applets and
other objects present in the browser.

This way, you can change the behavior of plug-ins


or other objects without having to rewrite them. Your
JavaScript code could automatically set the text of an Active-x
Label Control, for example, based on what time the page is
viewed.

JavaScript commands are embedded in your HTML


documents. Embedding Java Script in your pages requires
only one new HTML: element. <SCRIPT> and </SCRIPT>.
The <SCRIPT> element takes the attribute LANGUAGE, which
the scripting language to use when evaluating the script, and
SRC, which can be used to load script from an external
source.
The following are some simple rules to help you
understand how the language is structured:

 vaScript is case-sensitive.
 JavaScript is flexible about statements.
A single statement can cover multiple lines; you can
put multiple short statements on a single line –just make sure
to add a semicolon (;) at the end of each statement .Braces
(the ‘{‘ and ‘}’ characters) group statements into blocks. A

35
block may be the body of a functional or a section of code
that gets executed in a loop or as part of the conditional test.
JavaScript is designed to resemble Java, which, in
turn, looks a lot like C and C++. The difference is that Java
was built as a built as a General-purpose object language,
JavaScript, on the other hand, is intended to provide a
quicker and language for enhancing web pages servers.
However, JavaScript is limited itself to perform only the client
side validations but not the server side validations.

Java Script is Netscape’s cross–platform, object-


based scripting language for client server application.
JavaScript is mainly used as a client side scripting language.
This means that JavaScript code is written into an HTML page.
When a user requests an HTML page with JavaScript in it, the
script is sent to the browser and it's up to the browser to do
something with it. JavaScript can be used in other contexts
than a Web browser. Netscape created server-side JavaScript
as a CGI-language that can do roughly the same as Perl or
ASP.

Fortunately most browsers can handle JavaScript


nowadays, but of course some browsers do not support some
bits of script.
Types of Java Script:

 Navigator Java Script also called client-side Java


Script.
 Live Wire Java Script also called server-side Java
Script.
Using Java Script, dynamic HTML pages can be
created that process user input and maintain persistent data
using special objects, files and relational databases. Browser
interprets JavaScript statements embedded in an HTML page.
Netscape Navigator 2.0 and Internet Explorer 3.0 versions
and later recognize Java Script. Through JavaScript Live
Connect functionally, application can access Java and CORBA
distributed-object applications. Navigator 3.0 and later
versions supports Live Connect.

36
Client- side
JavaScript

CORE
CLIENT-SIDE SERVER-SIDE
JAVASCRIPT
ADDITION ADDITIONS
CORE
(SUCH AS (SUCH AS
LANGUAGE
WINDOW SERVER AND
FEATURES
AND DATABASE)
SUCH
HISTORY)
AS VARIABLE,
FUNCTIONS
AND
CLIENT-SIDE LIVE CONNECT SERVER-SIDE

JavaScript Architecture
Server-side and client-side share the same core
language (ECMA-262), the scripting language standardized by
the European standards body which contains core objects,
other features like expressions, statements and operators.
The main modules of JavaScript are Core and DOM.

37
FEATURES OF JAVASCRIPT (JS)
 Browser interprets JavaScript.
 JavaScript is object based and uses built-in, extensible
objects and have no classes or inheritance
 JavaScript is loosely typed language
 In JavaScript object reference are checked at runtime
 JavaScript is designed to supplement the capabilities of
HTML with script that are capable of responding to web
pages events. JSP has access to some extent of aspects
of the web browser window.
 JavaScript control browser and content but cannot draw
graphics or perform networking.

CLIENT-SIDE JAVASCRIPT FEATURES :


Client–side JavaScript has expressly been developed for
use in a web browser in conjunction with HTML pages. This
has certain consequences for security.
 JavaScript cannot read files from or write them to the
file system on the computer. This would be a clear
security hazard
 JavaScript cannot execute any other programs. This
would also be unacceptable.
 JavaScript cannot establish any connection to whatever
computer, except to download a new HTML page or to
send mail. This, too, would create unacceptable
hazards.

The Client-Side JavaScript also has the


following features:

 Controls Document’s appearance and content


 Control the browser
 Interact with the HTML forms
 Interact with the user
 Read and write client state with cookies

Server- Side JavaScript Features

 Embedded in HTML page


 Executed at the server
 Pre-complied for faster response
 Access to Server-side objects
 Encapsulation of the request

38
JSP
Introduction to JSP (Java Server Pages):
Java Server Pages (JSP) is a Java technology that
allows software developers to dynamically generate HTML,
XML or other types of documents in response to a Web client
request. The technology allows Java code and certain pre-
defined actions to be embedded into static content.

The JSP syntax adds additional XML-like tags, called


JSP actions, to be used to invoke built-in functionality.
Additionally, the technology allows for the creation of JSP tag
libraries that act as extensions to the standard HTML or XML
tags. Tag libraries provide a platform independent way of
extending the capabilities of a Web server.

JSPs are compiled into Java Servlets by a JSP


compiler. A JSP compiler may generate a servlet in Java code
that is then compiled by the Java compiler, or it may generate
byte code for the servlet directly.

"JavaServer Pages" is a technology released by Sun.

JSP Syntax:
A Java Server Page may be broken down into the following
pieces:

 static data such as HTML,


 JSP directives such as the include directive,
 JSP scripting elements and variables,
 JSP actions,

Static data

Static data is written out to the HTTP response exactly as it


appears in the input file. Thus a normal HTML page with no
embedded java or actions would be valid JSP input. In that
case, the same data would be sent in the response each and
every time by the web server to the browser.

JSP directives

JSP directives control how the JSP compiler generates the


servlet. The following directives are available:

39
 Include – The include directive informs the JSP compiler
to include a complete file into the current file. It is as if
the contents of the included file were pasted directly
into the original file. This functionality is similar to the
one provided by the C preprocessor. Included files
generally have the extension "jspf" (for JSP
ragment):<%@ include file="somefile.jspf" %>

 Page – There are several options to the page directive.

Import results in a Java import statement being


inserted into the resulting file
contentType specifies the content that is generated. This
should be used if HTML is not used or if the
character set is not the default character set.
errorPage indicates the page that will be shown if an
exception occurs while processing the HTTP
request.
isErrorPage if set to true, it indicates that this is the error
page.
isThreadSafe indicates if the resulting servlet is thread safe.

<%@ page import="java.util.*" %> //example import


<%@ page contentType="text/html" %> //example
contentType
<%@ page isErrorPage=false %> //example for non error
page
<%@ page isThreadSafe=true %> //example for a thread
safe JSP

Note: Only the "import" page directive can be used multiple


times in the same JSP.

 taglib – The taglib directive indicates that a JSP tag


library is to be used. The directive requires that a prefix
be specified (much like a namespace in C++) and the
URI for the tag library description.

<%@ taglib prefix="myprefix" uri="taglib/mytag.tld" %>

40
4.2.4 JSP Implicit Objects

The following JSP implicit objects are exposed by the JSP


container and can be referenced by the programmer:

 out – The JSPWriter used to write the data to the


response stream.
 page – The servlet itself.
 pageContext – A PageContext instance that contains
data associated with the whole page. A given HTML
page may be passed among multiple JSPs.
 request – The HTTP request object.
 response – The HTTP response object.
 session – The HTTP session object that can be used to
track information about a user from one request to
another.
 config – Provides servlet configuration data.
 application – Data shared by all JSPs and servlets in the
application.
 exception – Exceptions not caught by application code.

Scripting elements:
There are three basic kinds of scripting elements that allow
java code to be inserted directly into the servlet.

 A declaration tag places a variable definition inside the


body of the java servlet class. Static data members may
be defined as well.

<%! int serverInstanceVariable = 1; %>

 A scriptlet tag places the contained statements inside


the _jspService() method of the java servlet class.

<% int localStackBasedVariable = 1;


out.println(localStackBasedVariable); %>

 An expression tag places an expression to be evaluated


inside the java servlet class. Expressions should not be
terminated with a semi-colon .

<%= "expanded inline data " + 1 %>

41
JSP actions

JSP actions are XML tags that invoke built-in web server
functionality. The following actions are provided:

jsp:include Similar to a subroutine, the Java servlet


temporarily hands the request and response
off to the specified JavaServer Page. Control
will then return to the current JSP, once the
other JSP has finished. Using this, JSP code
will be shared between multiple other JSPs,
rather than duplicated.
jsp:param Can be used inside a jsp:include,
jsp:forward or jsp:params block. Specifies a
parameter that will be added to the
request's current parameters.
jsp:forward Used to hand off the request and response
to another JSP or servlet. Control will never
return to the current JSP.
jsp:plugin Older versions of Netscape Navigator and
Internet Explorer used different tags to
embed an applet. This action generates the
browser specific tag needed to include an
applet.
jsp:fallback The content to show if the browser does not
support applets.
jsp:getProperty Gets a property from the specified
JavaBean.
jsp:setProperty Sets a property in the specified JavaBean.
The scope attribute can be request, page, session or
application. It has the following meanings:
 request — the attribute is available for the lifetime of
the request. Once the request has been processed
by all of the JSPs, the attribute will be de-referenced.
 page — the attribute is available for the current page
only.
 session — the attribute is available for the lifetime of
the user's session.
 application — the attribute is available to every instance
and is never de-referenced. Same as a global variable.

42
JSP Standard Tag libraries (JSTL)

In addition to the pre-defined JSP actions,


developers may add their own custom actions using the JSP
Tag Extension API. Developers write a Java class that
implements one of the Tag interfaces and provide a tag library
XML description file that specifies the tags and the java
classes that implement the tags.

JSP pages are compiled into servlets ,so theoritically


you could write servlets to support your web-based
applications.However ,JSP technology was designed to
simplify the process of creating pages by separating web
presentation from web content.In many applications ,the
response sent to the client is a combination of template data
and dynamically generated data.In this situation ,it is much
easier to work with jsp than to do everything with servlets.

Jsp technology is the result of industry collaboration


and is designed to be an open, industry-standard method
supporting numerous servers, browsers and tols.jsp
technology speeds development with reusable components
and tags ,instead of relying heavily on scripting within the
page itself. All jsp implementations support a java
programming language based scripting language, which
provides inherent scalability and support for complex
operations.

43
3.3 DATA FLOW DIAGRAMS :

44
VISITOR

45
JAILER

3.4 UML DIAGRAMS

USECASE DIAGRAM: VISITOR LEVEL

HIGH-LEVEL:

DESCRIPTION:

This use-case diagram describes the


registration process for the new visitors and the login process
for the registered visitors. Once he logs in, if he is proved to
be authenticated he can either put a request to visit a
particular prisoner or he can view his visit details.

46
USECASE DIAGRAM: JAILER LEVEL

HIGH-LEVEL:
DESCRIPTION:

This use-case diagram describes that after the jailer


logs in, he can access either of the modules and he can
retrieve the prisoners personal details or case details or
parole details or the education and training he is undergoing
in the prison. He can also get the list of prisoners to be
released on a day, the next day, the next week, the next
month, or any given duration of time. He also has previleges
to update the details of the prisoner.

47
ACTIVITY DIAGRAM:VISITOR

DESCRIPTION:
This activity diagram describes the flow in
which the activities occur. The visitor first registers and then
logs in. Once he is proved to be authenticated he can either
put a request to visit a particular prisoner or he can view his
visit details through the visit register.

ACTIVITY DIAGRAM:JAILER

48
DESCRIPTION:

This activity diagram describes the


flow in which the activities of the jailer occur. First the jailer
logs in and if he is valid.he is provided access to all of the
modules mentioned above. He has previlege to update the
details of the prisoner. Once he completes his work, he logs
out.

CLASS DIAGRAM: JAILER

DESCRIPTION:

49
CLASS NAME METHODS DESCRIPTION
1.This method
enables us to
view the details
of all the
prisoners.
2. This method
1. viewAll ()
enables us to
Jailer 2. update ()
update the
3. newRegistration ()
details of all the
prisoners.
3. This method
enables a new
jailer to get
registered.
This method
enables us to
Nominal Role getNomDetails() retrieve the
personal details
of the prisoner.
This method
enables us to
Case Register getCaseDetails() retrieve the
case details of
the prisoner.
This method
enables us to
Parole Register getParoleDetails() retrieve the
parole details of
the prisoner.
This method
enables us to
retrieve the
Education getEduDetails() education
details he is
undergoing in
the prison.
This method
enables us to
Training getTrainyDetails()
retrieve the
training details.
In-Out Register 1.getPrisonerWise() This method
2.getVisitorWise() enables us to
retrieve the in-

50
out details of
both prisoners
and visitors.
This method
enables us to
retrieve the list
Automated Release
getReleaseDetails() of prisoners
Dairy
who are going
to be released
on a given date.
`

CLASS DIAGRAM: VISITOR

DESCRIPTION:
CLASS NAME METHODS DESCRIPTION
This method
enables the
egistration getRegistered()
visitors to get
registered.
This method
Login validate() authenticates the
visitor.
1.This method
allows the visitor
to view his visit
1.viewDetails() details.
Visit Register 2.submitRequest() 2.This method
allows the visitor
to place a
request to visit
the prisoner.

51
USECASE DIAGRAM: VISITOR LEVEL

LOW-LEVEL:

DESCRIPTION:

This use-case diagram describes that if a visitor is


a new one, he gets registered and during registration he has
to fill the details like visitor name, visitor Id, relation to the
prisoner, his gender, his age, prisonerId of prisoner he wants
to visit. Once he logs in, he has access to visit register in
which he can place a request by entering prisonerId and visit
time. He can also retrieve his visit details. He immediately
gets the approval of his request from the jailer.

52
USECASE DIAGRAM: JAILER LEVEL

LOW-LEVEL DESCRIPTION:

Once the jailer logs in and proves to be valid,he


has access to the following modules:

 Nominal Roll: The details of the prisoner and his/her


demographic details should be captured. A digital photo
comprising different views of the prisoner and the list of
articles surrendered by prisoner during nominal roll are
to be recorded.

 Case register: All the details of the cases against the


prisoner should be captured. This must include the
sentence details, remand/conviction details, etc.

 Automated release diary generator: This report should


be display the list of prisoners to be released on a day,
the next day, the next week, the next month, or any
given duration of time. The system should consider the
reduction of sentence length due to various
considerations.

53
 Parole register: This module should track all prisoners
on parole and provide necessary reports on this data.

 Education: This module consists of information about


his present qualification ,the course he is undergoing
and the duration of the course.

 Training: This module consists of the information about


the work he is assigned and the pay he is given for the
work.

 In-out register: An in-out register will track all prisoners


and others who move in and out for various reasons.

 Various status reports and demographical analysis


reports are to be generated.

SEQUENCE DIAGRAM:VISITOR

54
55
56
NOMINAL_ROLE:

FIELD-NAME DATA TYPE CONSTRAINT


PRISONERID VARCHAR2(10) PRIMARY KEY
PRISONERNAME VARCHAR2(!0) NOT NULL
GENDER VARCHAR2(10) NOT NULL
QUALIFICATION VARCHAR 2(10) NOT NULL
PADDRESS VARCHAR2(50) NOT NULL
ARTICLES VARCHAR2(10) NOTNULL
TYPE VARCHAR2(10) NOT NULL
ENTRY_DATE DATE NOT NULL
EXIT_DATE DATE NOT NULL
HANGING_DATE DATE NOT NULL
V1NAME VARCHAR2(10) NOT NULL
V2NAME VARCHAR2(10) NOT NULL
V3NAME VARCHAR2(10) NOT NULL
V4NAME VARCHAR2(10) NOT NULL
STATUS VARCHAR2(20) NOT NULL
IMAGE VARCHAR2(100) NOT NULL
V1PHOTO VARCHAR2(100) NOT NULL
V2PHOTO VARCHAR2(100) NOT NULL
V3PHOTO VARCHAR2(100) NOT NULL
V4PHOTO VARCHAR2(100) NOT NULL
S1 VARCHAR2(10) NOT NULL
S2 VARCHAR2(10) NOT NULL
S3 VARCHAR2(10) NOT NULL
S4 VARCHAR2(10) NOT NULL

DESCRIPTION:

This table is capable of storing the personal


details of the prisoner like demographic details, digital
photos comprising different views of the prisoner and the list of
articles surrendered by the prisoner.

PAROLE_REG:

FIELD NAME DATA TYPE CONSTRAINT


PAROLEID VARCHAR2(10) PRIMARY KEY

57
PRISONERID VARCHAR2(10) FOREIGN KEY
PRISONERNAME VARCHAR2(10) NOT NULL
REF_NAME VARCHAR2(10) NOT NULL
REF_ADD VARCHAR2(50) NOT NULL
EXIT_DATE DATE NOT NULL
ENTRY_DATE DATE NOT NULL
LAST_VISITDATE DATE NOT NULL
CASEID VARCHAR2(10) FOREIGN KEY

DESCRIPTION:

This table consists of the details of all the prisoners


on parole and the name of the referee, his/her address and the
duration of the parole.

CASE_REG:

FIELD NAME DATA TYPE CONSTRAINT


CASEID VARCHAR2(10) PRIMARY KEY
CTYPE VARCHAR2(10) NOT NULL
PRISONERID VARCHAR2(10) FOREIGN KEY
DESCRIPTION VARCHAR2(50) NOT NULL

DESCRIPTION:

This table consists of the details of the cases against


the prisoner and the type of the crime he did like murder,
theft, forgery and counterfeiting.
EDUCATION:

FIELD NAME DATA TYPE CONSTRAINT


EDU_ID VARCHAR2(10) PRIMARY KEY
PRISONERID VARCHAR2(10) FOREIGN KEY
COURSE_ID VARCHAR2(10) FOREIGN KEY
PRISONERNAME VARCHAR2(10) NOT NULL

DESCRIPTION:

This table comprises of the education details like the


course he is undergoing.

58
COURSE:

FIELD NAME DATA TYPE CONSTRAINT


COURSE_ID VARCHAR2(10) PRIMARY KEY
COURSENAME VARCHAR2(50) NOT NULL
UNIVERSITY/SCHOOL VARCHAR2(50) NOTNULL

DESCRIPTION:

This table describes the various courses offered to the


prisoners.

TRAINING:

FIELD NAME DATA TYPE CONSTRAINT


TRAINING_ID VARCHAR2(10) PRIMARY KEY
PRISONERID VARCHAR2(10) FOREIGN KEY
WORK_ID VARCHAR2(10) FOREIGN KEY
PRISONERNAME VARCHAR2(10) NOT NULL

DESCRIPTION:

This table has all the training details being undertaken by


the prisoners.

WORK:

FIELD NAME DATA TYPE CONSTRAINT


WORK_ID VARCHAR2(10) PRIMARY KEY
WORKNAME VARCHAR2(50) NOT NULL

DESCRIPTION:

59
This table consists of the different kinds of works the
prisoners can do in the prison like weaving section, carpentry,
paper unit, chemical section etc.

VISITOR:

FIELD NAME DATA TYPE CONSTRAINT


VISITOR_ID VARCHAR2(10) PRIMARY KEY
PRISONERID VARCHAR2(10) FOREIGN KEY
PASSWORD VARCHAR2(10) NOT NULL
GENDER VARCHAR2(10) NOT NULL
AGE NUMBER NOT NULL
PRISONERNAME VARCHAR2(10) NOT NULL
VISITORNAME VARCHAR2(10) NOT NULL
RELATION VARCHAR2(10) NOT NULL
ADDRESS VARCHAR2(50) NOT NULL
SECURITYQUES VARCHAR2(60) NOT NULL
ANSWER VARCHAR2(30) NOT NULL

DESCRIPTION:

This table contains the details of the visitor like his/her


name, relation to the prisoner, address, age, gender ,the
security question ans answer in case he forgets his
password,etc.

VISITREGISTER:

FIELD NAME DATA TYPE CONSTRAINT


VISITOR_ID VARCHAR2(10) FOREIGN KEY
PRISONERID VARCHAR2(10) FOREIGN KEY
VISITDATE DATE NOT NULL
STATUS VARCHAR2(10) NOT NULL

DESCRIPTION:

This table maintains the details of the visitor like


the date on which he visited the prisoner with the Id,
prisonerId and the status of his request to meet the prisoner
(accept/reject) and the corresponding remarks.

STAFF1:

60
FIELD NAME DATA TYPE CONSTRAINT
STAFF_ID VARCHAR2(10) PRIMARY KEY
STAFFNAME VARCHAR2(10) NOT NULL
DESIGNATION VARCHAR2(20) NOT NULL
IMAGE VARCHAR2(100) NOT NULL
DOJ DATE NOT NULL
ADDRESS VARCHAR2(50) NOT NULL

DESCRIPTION:

This table maintains the details of the staff


members like his/her name, their Id , designation ,his/her
image ,date of joining(DOJ) etc.

LOGIN:

FIELD NAME DATA TYPE CONSTRAINT


ID VARCHAR2(10) PRIMARY KEY
PASSWORD VARCHAR2(10) NOT NULL

DESCRIPTION:

This table contains the login details of the staff like their ID
and password.

61
Implementation is the process of having systems
personnel check out and put new equipment into use, train

62
users, install the new application depending on the size of the
organization that will be involved in using the application and
the risk associated with its use, systems developers may
choose to test the operation in only one area of the firm, say
in one department or with only one or two persons.
Sometimes they will run the old and new systems together to
compare the results. In still other situation, developers will
stop using the old system one-day and begin using the new
one the next. As we will see, each implementation strategy
has its merits, depending on the business situation in which it
is considered. Regardless of the implementation strategy
used, developers strive to ensure that the system’s initial use
in trouble-free.

Once installed, applications are often used for many


years. However, both the organization and the users will
change, and the environment will be different over weeks and
months. Therefore, the application will undoubtedly have to
be maintained; modifications and changes will be made to the
software, files, or procedures to meet emerging user
requirements. Since organization systems and the business
environment undergo continual change, the information
systems should keep pace. In this sense, implementation is
ongoing process.

Evaluation of the system is performed to identify its


strengths and weakness. The actual evaluation can occur
along any of the following dimensions.

Operational Evaluation: assessment of the manner in


which the system functions, including ease of use, response
time, suitability of information formats, overall reliability, and
level of utilization.

Organization Impact: Identification and


measurement of benefits to the organization in such areas as
financial concerns operational efficiency, and competitive
impact. Includes impact on internal and external information
flows.

User Manager Assessment: Evaluation of the


attitudes of senior and user mangers within the organization,
as well as end-users.

Development Performance: Evaluation of the


development process in accordance with such yardsticks as
overall development time and effort, conformance to budgets

63
and standards, and other project management criteria.
Includes assessment of development methods and tools.

Unfortunately system evaluation does not always


receive the attention it merits. Where properly managed
however, it provides a great deal of information that can
improve the effectiveness of subsequent application efforts.

System Implementation is used to bring a developed


system or sub system into operational use and turning it over
to the user. It involves programmer, users and operational
management. It also needs to introduce and train the people
to work with the new system.

64
System testing is the stage of implementation that is
aimed at ensuring that the system works accurately and
efficiently for live operation commences. Testing is vital to the
success of the system. System testing makes a logical

65
assumption that if all the parts of the system are correct,
then goal will be successfully achieved. A series of testing is
done for the proposed system before the system is ready for
the user acceptance testing.
The steps involved in Testing are:

Unit Testing:

Unit testing focuses verification efforts on the


smallest unit of the software design, the module. This is also
known as “Module Testing”. The modules are tested
separately. This testing carried out during programming stage
itself. In this testing each module is found to be working
satisfactorily as regards to the expected output from the
module.

Integration Testing:

Data can be grossed across an interface; one module


can have adverse efforts on another. Integration testing is
systematic testing for construction the program structure
while at the same time conducting tests to uncover errors
associated with in the interface. The objective is to take unit
tested modules and build a program structure. All the
modules are combined and tested as a whole. Here correction
is difficult because the isolation of cause is complicate by the
vast expense of the entire program. Thus in the integration
testing stop, all the errors uncovered are corrected for the
text testing steps.

Validation Testing :

At the conclusion of integration testing software is


completely assembled as a package, interfacing errors have
been uncovered and corrected and a final series of software
tests begins, validation test begins. Validation test can be
defined in many ways. But the simple definition is that
validation succeeds when the software function in a manner
that can reasonably expected by the customer. After
validation test has been conducted one of two possible
conditions exists.

One is the function or performance characteristics


confirm to specifications and are accepted and the other is
deviation from specification is uncovered and a deficiency list
is created. Proposed system under consideration has been

66
tested by using validation testing and found to be working
satisfactorily.

Output Testing:

After performing validation testing, the next step is


output testing of the proposed system since no system could
be useful if it does not produce the required output in the
specified format. Asking the users about the format required
by them tests the outputs generated by the system under
consideration. Here the output format is considered in two
ways, one is on the screen and other is the printed format.
The output format on the screen is found to be correct as the
format was designed in the system designed phase according
to the user needs. For the hard copy also the output comes as
the specified requirements by the users. Hence output testing
does not result any corrections in the system.

User Acceptance Testing:

User acceptance of a system is the key factor of the


success of any system. The system under study is tested for
the user acceptance by constantly keeping in touch with the
prospective system users at the time of developing and
making changes wherever required.

Test Data:

Taking various kinds of test data does the above


testing. Preparation of test data plays a vital role in the
system testing after preparing the test data the system under
study is tested using the test data. While testing the system
by using the test data errors are again uncovered and
corrected by using above testing steps and corrections are
also noted from the future use.

Testing:
The testing done here was System Testing–
checking whether the user requirements were satisfied. The
code for the new system has been written completely using

67
JSP as the coding language, HTML as the interface for front-
end designing and Java Script for validating the client-side
applications. The new system has been tested well with the
help of the users and all the applications have been verified
from every nook and corner of the user.
Although some applications were found to be erroneous
these applications have been corrected before being
implemented. The flow of the forms has been found to be
very much in accordance with the actual flow of data.

68
ABOUT US:

69
HISTORY:

70
INFRASTRUCTURE:

71
72
JAILER OUTPUT SCREENS
J.AILER LOGIN FORM:

This form enables the jailer to login into their


account.

73
NEW PRISONER WINDOW:

This is the window that appears when the jailer


clicks prisoner details.

74
IMAGES:

75
76
77
78
79
80
81
82
The “PRISON MANAGEMENT SYSTEM “ has been
successfully completed . The goal of the system is achieved
and problems are solved . The package is developed in a
manner that it is user friendly and required help is provided at
different levels.

The project can be easily used in the process of


decision making.Different types of reports can be generated
which help the departments work standards as well as the
economical state of the department.

This system never decreases the manpower but


helps the development of available manpower and optimizes
the manpower by which deparment’s standards and
capabilities can be scaled to higher dimensions.

FUTURE ENHANCEMENTS

Inmate tracking:

Modern prison designs, particularly those of high-


security prisons, have sought to increasingly restrict and
control the movement of prisoners throughout the facility
while minimizing the corrections staffing needed to monitor
and control the population.
Inmates will wear "wristwatch-sized" transmitters that can
detect if prisoners have been trying to remove them and send
an alert to prison computers.Staff will also wear the
technology on their belts so they can be tracked for security
purposes. Warders can activate an alarm themselves but the
alert will also be sent if the transmitter is forcibly removed or
the warder is knocked down.

This system can pinpoint the location of staff and


prisoners in real-time and track them within the confines of a
prison.
In an effort to monitor large groups and/or individuals in
correctional facIlties, their surroundings, or in set open
environments,jail will use the AMS-2000i wireless inmate
tracking system.

83
The system enables real-time restricted zones
administration and supports correctional facilities' operations
by tightening supervision of inmates and enhancing the
security of staff members.

The system allows for the flexible implementation of


various types of in-house and off premises work or
rehabilitation programs and can interface with other facility
security and communication systems, including alarms, CCTV
cameras, door-locks and more, as needed.

Included in the arrangement are tamper-proof, ankle


or wrist worn RF (radio frequency) transmitters for inmates,
officers and staff, officer and staff pagers, a network of
wireless monitoring units, and a user software interface.

The information derived from the network of


monitoring units allows facility management to receive
imperative location information on inmates and staff,
providing it with enhanced control over facility operations.
The system enables the user to configure the facility
inner and outer grounds to include restricted areas and
monitor them according to inmate's schedules. The new
system will be configured to monitor a few hundred inmates,
who will wear Elmo-Tech's transmitters, monitored by a
wireless network of smart control units distributed throughout
the facility.

Biometric in prisons:

Guards in Jail can tell which inmates should be


released just by the look in their eyes. the jail can use a high-
tech system that scans people's retinas to determine their
identity.

Biometric technologies use body parts or behaviors,


from voice prints to hand geometry, to identify individuals. In
use for over a decade at top-security government institutions,
biometrics are spilling rapidly into other markets, driven by
falling prices and growing public acceptance.

Thousands of locations, from day care centers to


health clubs to sperm banks, already monitor people's
fingerprints, retinas, or other personal parts to make sure
they are who they claim to be.

84
This swelling industry is finding a natural market in
India's booming jails and prisons. The number of people
behind bars has almost quadrupled since 1980, and continues
to rise. All of those inmates, as well as the guards who watch
them and the loved ones who visit them, have to be
monitored to ensure that only the right ones go in -- and out.

Biometrics, more convenient to use and much harder


to fool than systems based on identity cards or photos, seem
tailor-made for a market that is based on controlling people's
movements.

"Fingerprints started out strictly as a criminal thing,


then they moved into welfare, and now they're used in banks
and all kinds of places,". "Technology used for law
enforcement purposes has a way of suddenly becoming used
for all kinds of things."

85
BIBLIOGRAPHY

The following books were refferd during the analysis


and execution phase of the project

SOFTWARE ENGINEERING
By Roger.S. Pressman

CORE JSP
By Damon Hougland

SQL FOR PROFESSIONALS


By Jain

COMPLETE HTML
Steven Holzner

UNIFIED MODELING LANGUAGE


By Grady Booch,Ranbaugh,Jacobson

JAVA 2 COMPLETE REFERENCE


By Patrick Naughton , Herbertschildt

WEB SITES VISITED

www.w3shools.com
www.academictutorials.com
www.java.sun.com
www.mysql.com
www.javasoft.com
www.coreservlets.com

86
87
VISIT REQUEST :
import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;
import java.util.*;
import java.util.Calendar;
import java.text.*;
import java.sql.*;
import java.lang.*;

public class visitrequest1 extends HttpServlet


{
Connection conn=null
Statement stmt=null
ResultSet rs=null;
ResultSet rs1=null;
ResultSet rs2=null;
ResultSet rs3=null;
Public void doPost(HttpServletRequestreq,HttpServle
tResponse res) throws
IOException,ServletException
{
res.setContentType("text/html");
PrintWriter =res.getWriter();
Try
{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
conn=DriverManager.getConnection("jdbc:odbc:satyam1","scott",
"tiger");
stmt=conn.createStatement();
RequestDispatcher rd;
java.util.Date dt=new java.util.Date()
String s2=req.getParameter("t2");
java.util.Date dd=new java.util.Date();
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss")
Format form = new SimpleDateFormat("dd-MMM-yyyy")
DateFormat ft = new SimpleDateFormat("dd-MMM-yyyy");

pw.println("<br>"+s2+"<br>"+form.format(dt)+"<br>"+ft.parse(s2)+"<
br>"+dt+"<br>"+(ft.parse(s2)).after(ft.parse(form.format(dt)))+"<br>"
+dt.before(ft.parse(s2))+"<br>"+dt.after(ft.parse(s2)));
HttpSession ses=req.getSession
int p=0;
ResultSet rs=stmt.executeQuery("select prisonerId from

88
visitor where visitor_Id='"+ses.getAttribute("vid")+"'");
pw.println(ses.getAttribute("vid"))
rs.next();
String pid=rs.getString(1);
ResultSet rs1=stmt.executeQuery("select status from
nominal_role where prisonerId='"+pid+"'");
pw.println("select status from nominal_role where
prisonerId='"+pid+"'");
rs1.next();
if((rs1.getString(1)).equals("Nr"))
{
ResultSet rs2=stmt.executeQuery("select exit_date from
nominal_role where prisonerId='"+pid+"'");
rs2.next();
String exit=rs2.getString(1);
String ex;
if( !(exit==null))
{
dd = (java.util.Date)formatter.parse(exit);
ex=form.format(dd);
}

pw.println("<br>"+ft.parse(s2)+"<br>"+ft.parse(form.format(dt))+"<br
>"+(ft.parse(s2)).after(ft.parse(form.format(dd))));
if((ft.parse(s2)).after(ft.parse(form.format(dt))))
{
if((ft.parse(s2)).before(ft.parse(form.format(dd))))
//comparision of dates
{
ResultSet rs3=stmt.executeQuery("select visitor_Id from
visit_reg where visitdate='"+s2+"' and
prisonerId='"+ses.getAttribute("pid")+"'");
pw.println("HELLO");
while(rs3.next())
{

pw.println("HELLO");

p=1;

String status="reject";

rd=req.getRequestDispatcher("reject.htm");

rd.forward(req,res);

stmt.executeUpdate("insert into visit_reg


values('"+ses.getAttribute("vid")+"','"+ses.getAttribute("pid")+"','"+s2+"'
,'"+status+"')");
}
if(p!=1)

String status="accept";

89
rd=req.getRequestDispatcher("accept.htm");

rd.forward(req,res);

stmt.executeUpdate("insert into visit_reg


values('"+ses.getAttribute("vid")+"','"+ses.getAttribute("pid")+"','"+s2+"'
,'"+status+"')");

pw.close();
}

}
Else
{
rd=req.getRequestDispatcher("release.html");
rd.forward(req,res);
}
}
else
{
rd=req.getRequestDispatcher("previous.htm");
rd.forward(req,res);
}
else
{
rd=req.getRequestDispatcher("noprisoner.htm");
rd.forward(req,res);
}
}
catch(ClassNotFoundException e)
{
pw.println("exception"+e);
}
catch(SQLException e)
{
pw.println("exception"+e);
}
catch(Exception e)
{
pw.println("can't load driver"+e.getMessage());
}

}
}

VISITOR REGISTRATION:
<html>
<head>
<title>prison</title>
<script language="JavaScript" type="text/JavaScript">
function validation()
{
var l=f1.t3.value.length;

90
if(f1.t1.value==""||f1.t2.value==""||f1.t3.value==""||
f1.t4.value==""||
f1.t5.value==""||f1.t6.value==""||f1.t7.value==""||f1.t8.value==""||
f1.t9.value==""||f1.t10.value==""||f1.t11.value=="")
{
alert("FILL ALL THE REGISTRATION DETAILS");
return false;
}
else if(f1.t3.value!=f1.t4.value)
{
alert("RETYPE PASSWORD CORRECTLY");
f1.t4.value="";
f1.t3.value="";
return false;
}
else if(l<6 )
{
alert("PASSWORD SHOULD CONTAIN MINIMUM OF 6 CHARACTERS");
f1.t3.value="";
f1.t4.value="";
return false;
}

}
</script>
</head>
<body background="background.jpg"
onLoad="MM_preloadImages('history2.gif','infra2.gif','reformation2.gif','fa
ctory2.gif','contact2.gif','aboutus2.gif')">
<table width="158" border="0">
<tr>
<td width="180" height="175"><img src="logo.gif" width="150"
height="180"></td>
</tr>
</table>
<table style="position:absolute; left:; left: 855px; top: 26px; height:
21px; width: 60px;"43px";top:"21px";width="200" border="0">
<tr>
<td><strong><font color="#0000FF" size="2">[</font><a
href="HOME.htm"><strong><font size="2"> HOME
</font></strong></a><strong><font color="#0000CC" size="2">]
</font></strong></strong></td>
</tr>
</table>
<table style="position:absolute;left:189px; top:48px; width: 804px;
height:105px;" " width="200" border="0">
<tr>
<td ><p class="style3">PRISON MANAGEMENT SYSTEM </p></td>
</tr>
</table>
<table style="position:absolute; left:; left: 614px; top: 598px; height:
37px; width: 58px;"43px";top:"21px";width="200" border="0">
<form action="/sindhu/REGISTRATION.htm" method="post">
<p align="center">&nbsp;&nbsp;&nbsp;
<input type=submit value="RESET" name="RESET">
</p>
</p>

91
</form>
</table>

<form name=f1 onSubmit=" return validation()"


action="/sindhu/registerupdate2" method="post">

<table style="position:absolute;left:333px; top:257px">


<tr>
<td><b>VISITOR-ID::</b>
<td> <input name="t2" type=text>

</tr>
<tr>
<td><b> VISITOR-NAME::</b>
<td> <input name="t1" type=text>
</tr>

<tr>
<td><b>PASSWORD::</b>
<td> <input name="t3" type=password >
</tr>
<tr>
<td><b>RETYPE PASSWORD::</b>
<td> <input name="t4" type=password>
</tr>
<tr>
<td><b>GENDER::</b>
<td> <select name="t5" >

<option value=" ">[select ]</option>


<option
value="male">male</option>
<option value="female">female</option>
</select>

</tr>
<tr>
<td><b>SECURITY QUESTION::</b>
<td> <select name="t6">
<option value=" ">[select a question]</option>
<option value="what is middle name of your
father? ">what is middle name of your father?</option>
<option value="what is your favorite
pasttime?">what is your favorite pasttime?</option>
</select>
</tr>
<tr>
<td><b>ANSWER::</b>
<td>
<input name="t11" type=text>
</tr>
<tr>
<td><b>PRISONER NAME::</b>
<td> <input name="t7" type=text>
</tr>
<tr>
<td><b>PRISONER-ID::</b>

92
<td> <input name="t8" type=text>
</tr>
<tr>
<td><b>RELATION WITH PRISONER::</b>
<td> <input name="t9" type=text>

<tr>
<td><b>ADDRESS::</b>
<td>
<textarea name="t10" cols=15 rows=2 ></textarea>
</tr>
<tr>
<td><b>SECURITY CODE::</b>
<td> <input name="t12" type=text>

</tr>
</table>
<table style="position:absolute; left:394px; top:198px; height: 56px;
width: 271px;"width="200" border="0">
<tr>
<td><span class="style6">REGISTRATION FORM </span></td>
</tr>
</table>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center">&nbsp; </p>
<p align="center">&nbsp;
<br>
<input type=submit value="SUBMIT" name="submit">
</form>
<p align="center">&nbsp;</p>

<!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-->

<table style="position:absolute; left:767px; top:7px; width: 226px;


height: 20px;">
<tr>
<td>
<p><strong><font color="#0000CC" size="2">[</font></strong>
<a href="vchange.htm"><strong><font size="2">CHANGE
PASSWORD</font></strong></a> | <a
href="logout27.jsp"><strong><font size="2">LOG
OUT</font></strong></a><strong><font size="2">
</font></strong><font color="#0000FF"
size="2"><strong>]</strong></font></p>
</td>
</tr>
</table>

93
</body>
</html>

94

You might also like