File

advertisement
A
MAIN PROJECT REPORT ON
“E-FEE MASTER”
Submitted in partial fulfillment of the requirements for the award of the
Degree of
BACHELOR OF TECHNOLOGY
IN
INFORMATION TECHNOLOGY
BY
CH MAHESH KUMAR
07D31A1237
CH.GOWTHAM
07D31A1217
B.CHANDRAKANTH
07D31A1209
ARUN KUMAR MISHRA
07D31A1205
Under the guidance of
T.BENARJI
M.Tech(Ph.D)
Department of Information Technology,
INDUR INSTITUTE OF ENGINEERING & TECHNOLOGY
(Approved by AICTE)
(Affiliated to JNTUH ,Hyderabad)
PONNAL(V), Siddipet(M), Medak(Dist)-502103
Andhra Pradesh
2011
INDUR INSTITUTE OF ENGINEERING & TECHNOLOGY
(Approved by AICTE)
(Affiliated to JNTU,Hyderabad)
PONNAL(V), Siddipet(M), Medak(Dist)-502103
Andhra Pradesh.
CERTIFICATE
Certificate that dissertation entitled
“E-FEE MASTER”
Submitted by
CH MAHESH KUMAR
07D31A1237
CH.GOWTHAM
07D31A1217
B.CHANDRAKANTH
07D31A1209
ARUN KUMAR MISHRA
07D31A1205
For partial fulfillment for the award of Bachelor of Technology in Information Technology to
the Jawaharlal Nehru Technological University is a record of bona fide work carried out by
them under the guidance and supervision.
The results embodies in this dissertation have not been submitted to any other University or
Institute for the award of any degree or diploma.
Internal Guide
T.BENERJI
M.Tech (Ph .D )
Head of the Department
prof . M.BALRAJU
M.Tech(Ph.D)
ACKNOWLEDGEMENT
Determination and dedication with sincerity and hard work will lead us to the height of success.
In spite of the obstacles faced , the valuable suggestions and their best wishes helped us to
complete project “E-FEE MASTER”
success fully. As a mark of gratitude, we would like to express our heartfelt thanks to each of
them involved.
We are highly indebted to M.Balraju, Head of the department of Information
Technology for his unusual co-operation during the course of the project.
We express our gratitude and owe a special thanks to our internal guide T.Benerji for his
valuable suggestions and guidance through out the project.
We would like to express our sincere appreciation thanks to the people who have helped
us directly or indirectly in completion of the project.
Finally we take this opportunity to express our sincere thanks to our parents and friends
with out their immense and encouragement this would not have been achieved.
Thank you one and all. . . . . . . .
CONTENTS
Chapter-1.System Requirements Specification
1.1 Introduction
1.2 System Features and Module Specification
1.3 SRS (System Requirements Specification)
1.4 Organizational Profile
Chapter-2 Software Development Environment
(Literature Survey)
2.1 Introduction to Incremental Model1
2.2 Introduction to JAVA
2.3 Introduction to JDBC
2.4 Introduction to JSP
2.5 Introduction to UML
2.6
Introduction to NETBEANS
2.7 Introduction to DREAMWEAVER
Chapter-3 System Analysis
3.1 Analysis of project
3.2 Requirement gathering
3.3 Model Description
3.4 Feasibility study
Chapter-4 System Design
4.1
Design Issues
4.2
User Documentation
4.3
Introduction to UML (Rational Rose)
4. 4
UML Diagrams
Chapter-5
System Implementation
5.1
Testing
5.2
GUI screens
Chapter-6
Conclusion
Chapter-7
Bibliography
CHAPTER-1
SYSTEM REQUIRMENTS
SPECIFICATIONS
1.1
Introduction
E-fee master provides flexible fee management systems by maintaining a ledger for each student.
Student ledger will have the credit and debit transaction made by the student on a semester/
annual basis. It manages and monitors the student fee, dues, Fines and related costs. The
application provides easy to maintain functionality in the educational environment.
The system addresses the staff and students department wise. Appropriate dept staff and students
have access to functionalities in this application. The modules are accessible based on the staff
and student logged in. The administrator tracks staff and students about their fee collection and
fee paid by students respectively .
The application is an integrated fee collection system whereby it can monitor different
educational institute under one administrator. In this application different educational institutes
are first registered by the administrator, after that different employees send their request to
administrator to work under the one of the educational institute. When administrator received the
working request of employees he can assign them to educational institutes or reject them based
on their profile.
Existing system is ineffective in addressing the key issues like integrated view of students for an
administrator and fee collection of all departments are non coherent with other departments and
intimating the students about their fee details.
The student has to register with the application and he can update his details like year of
study and password.
After requesting administrator about working as employee, employee should watch for login his
account. If he successfully logged in his account it means he is authorized by administrator.
After login into his account he can update his profile and he can view students of his educational
institute, he can collect fee from the students, he can view the reports of student fee details.
Administrator has to register the appropriate colleges and he has to assign the employees for the
colleges, and he has to monitor the every college employee and college students and their fee
details and dues.
1.2 Scope
In this subsection:
(1) The system ensures the flawless communication between all personnel included in the
process
(2)Emergency situation handling was so sophisticated that we can avert any kind of
catastrophes
(3) The automatic report generation can be done this enable us to assess instantaneous
performances
1.3 Definitions, Acronyms, and Abbreviations.
AAAS (Airport authority administration system )-the system handles all the functionalities of
the airport right from flight takeoff to reaching the destination
GMS (Ground Monitoring system )-keeps an eye on all the ground processes any problem can
be easily detected and handled
1.4 References
In this subsection:
(1) www.google.com
(2) Text book-complete reference html), 2nd Edition.
1.2 System Features and Module Specification
1. Take off & Landing Scheduler
A detailed schedule is prepared for the take off and landing. Different airlines have sources
and destinations across a day. This module allows the integration of all the airlines to have
their own independent chart. The airport authority on the other hand maintains the total
schedule.
2. Parking Bay Management
The module allows the aircraft to be parked and maintained. A schedule of the bay is
provided by the operator. He identifies which aircraft is towed to the parking slot. The details
of the available parking and occupied parking are generated.
3. Staff & role maintenance
As the entities in the airport are different we need appropriate personnel to login and perform
the above tasks. The module maintains the staff.
4. Service Controller
Every aircraft is re-fuelled after a trip. This module monitors the usage of fuel and the
payment information of it. The catering unit, luggage and scheduled maintenance are scheduled
and monitored.
1.1 SRS (System Specification Requirements)
Hardware Requirements:
System
:
Pentium IV 2.4 GHZ
Hard Disk
:
40GB
Floppy Drive :
1.44MB
Monitor
: 15VGA colour
Mouse
:
Logitech
Ram
:
256MB
Software Requirements:
Operating system: Windows XP Professional
Front End
: JSP and JDBC
Coding Language: JAVA
Back End
: MySql
CHAPTER-2
SOFTWARE
DEVELOPMENT
ENVIRONMENT
(Literature survey)
2.1 Introduction to Incremental Model
 Incremental model
The incremental approach attempts to combine the waterfall sequence with some of the
advantages of prototyping. This approach is favored by many object-oriented practitioners. It
basically divides the overall project into a number of increments. Then it applies the waterfall
model to each increment. The system is put into production when the first increment is delivered.
As time passes additional increments are completed and added to the working system. This
approach is favored by many object-oriented practitioners.
Incremental Phases

Inception
During the inception phase, the purpose, business rationale, and scope of the project is
determined. This is similar to the feasibility analysis that is done in other life cycles.

Elaboration
During the elaboration phase, more detailed requirements are collected, high level
analysis is performed, and a general architecture is determined. This phase divides the
requirements into increments that can be built separately. As we will see, each increment
consists of a subset of high level use cases that capture the user's requirements.

Construction
The construction phase builds increments of the system. Each increment is developed
using a waterfall approach. This includes detailed analysis and design for the use cases in
the increment and coding and testing of the event processors that implement the sequence
of events defined by the use cases. The result is production quality software that satisfies
a subset of the requirements and is delivered to the end users. Work on different
increments may be done in parallel.

Transition
The transition phase (not shown in the figure) is the last phase in the project. This may
include such things a performance tuning and rollout to all users.
2.2 Introduction to Java
Literature survey includes the brief introduction about the programming languages being used,
any protocols used is the development of product.
STS uses the following:
JAVA technologies like
Applet
Swings
Java is an object-oriented programming language developed by Sun Microsystems in the early
1990s. Java applications are compiled to byte code, which at runtime is either interpreted or
compiled to native machine code f
or execution.
The language itself derives much of its syntax from C and C++ but has a simpler object model
and fewer low-level facilities. JavaScript, a scripting language, shares a similar name and has
similar syntax, but is not directly related to Java.
What is Applet?
An applet is a software component that runs in the context of another program, for example a
web browser. An applet usually performs a very narrow function that has no independent use.
The term was introduced in AppleScript in 1993. An applet is distinguished from "subroutine"
by several features. First, it executes only on the "client" platform environment of a system, as
contrasted from "servlet." As such, an applet provides functionality or performance beyond the
default capabilities of its container (the browser). Also, in contrast with a subroutine, certain
capabilities are restricted by the container. An applet is written in a language that is different
from the scripting or HTML language which invokes it. The applet is written in a compiled
language, while the scripting language of the container is an interpreted language, hence the
greater performance or functionality of the applet. Unlike a "subroutine," a complete web
component can be implemented as an applet.
What is Swing?
Swing is a GUI toolkit for Java. It is one part of the Java Foundation Classes (JFC).
Swing includes graphical user interface (GUI) widgets such as text boxes, buttons, split-panes,
and tables.
Swing widgets provide more sophisticated GUI components than the earlier Abstract Window
Toolkit. Since they are written in pure Java, they run the same on all platforms, unlike the AWT
which is tied to the underlying platform's windowing system. Swing supports plug
gable look and feel – not by using the native platform's facilities, but by roughly emulating them.
This means you can get any supported look and feel on any platform. The disadvantage of
lightweight components is slower execution. The advantage is uniform behavior on all platforms.
2.3 Introduction to JDBC:
JDBC:
What is JDBC?
Java Database Connectivity (JDBC) is a programming framework for Java developers writing
programs that access information stored in databases, spreadsheets, and flat files. JDBC is
commonly used to connect a user program to a "behind the scenes" database, regardless of what
database management software is used to control the database.
JDBC Architecture:
Two-tier and Three-tier Processing Models:
The JDBC API supports both two-tier and three-tier processing models for database access.
Fig-5. JDBC Two-tier Architecture
In the two-tier model, a Java applet or application talks directly to the data source. This requires
a JDBC driver that can communicate with the particular data source being accessed. A user's
commands are delivered to the database or other data source, and the results of those statements
are sent back to the user. The data source may be located on another machine to which the user is
connected via a network. This is referred to as a client/server configuration, with the user's
machine as the client, and the machine housing the data source as the server. The network can be
an intranet, which, for example, connects employees within a corporation, or it can be the
Internet.
In the three-tier model, commands are sent to a "middle tier" of services, which then sends the
commands to the data source. The data source processes the commands and sends the results
back to the middle tier, which then sends them to the user. MIS directors find the three-tier
model very attractive because the middle tier makes it possible to maintain control over access
and the kinds of updates that can be made to corporate data. Another advantage is that it
simplifies the deployment of applications. Finally, in many cases, the three-tier architecture can
provide performance advantages.
Fig-6 JDBC Three-tier Architecture
JDBC API :
The JDBC API lets you invoke SQL commands from Java programming language methods. You
use the JDBC API in an enterprise bean when you override the default container-managed
persistence or have a session bean access the database. With container-managed persistence,
database access operations are handled by the container, and your enterprise bean
implementation contains no JDBC code or SQL commands. You can also use the JDBC API
from a servlet or JSP page to access the database directly without going through an enterprise
bean.
The JDBC API has two parts: an application-level interface used by the application components
to access a database, and a service provider interface to attach a JDBC driver to the J2EE
platform.
JDBC accomplishes its goals through a set of Java interfaces, each implemented differently by
individual vendors. The set of classes that implement the JDBC interfaces for a particular
database engine is called a JDBC driver. In building a database application, you do not have to
think about the implementation of these underlying classes at all; the whole point of JDBC is to
hide the specifics of each database and let you worry about just your application. shows the
JDBC classes and interfaces.
Fig – 7 JDBC classes and interfaces.
The API interface is made up of 4 main interfaces:

java.sql DriverManager

java. sql .Connection

java. sql. Statement

java.sql.Resultset
In addition to these, the following support interfaces are also available to the developer:

java.sql.Callablestatement

java. sql. DatabaseMetaData

java.sql.Driver

java. sql. PreparedStatement

java. sql .ResultSetMetaData

java. sql. DriverPropertymfo

java.sql.Date

java.sql.Time

java. sql. Timestamp

java.sql.Types

java. sql. Numeric
Application Areas:
JDBC has been designed and implemented for use in connecting to databases. Fortunately, JDBC
has made no restrictions, over and above the standard Java security mechanisms, for complete
systems. To this end, a number of overall system configurations are feasible for accessing
databases.
1. Java application which accesses local database
2. Java applet accesses server-based database
3. Database access from an applet via a stepping stone
Using a JDBC driver:
JavaSoft has defined the following driver categorization system:
Type 1
These drivers use a bridging technology to access a database. The JDBC-ODBC
bridge that comes with the JDK 1.1 is a good example of this kind of driver. It
provides a gateway to the ODBC API. Implementations of that API in turn do the
actual database access. Bridge solutions generally require software to be installed
on client systems, meaning that they are not good solutions for applications that
do not allow you to install software on the client.
Type 2
The type 2 drivers are native API drivers. This means that the driver contains Java
code that calls native C or C++ methods provided by the individual database
vendors that perform the database access. Again, this solution requires software
on the client system.
Type 3
Type 3 drivers provide a client with a generic network API that is then translated
into database specific access at the server level. In other words, the JDBC driver
on the client uses sockets to call a middleware application on the server that
translates the client requests into an API specific to the desired driver. As it turns
out, this kind of driver is extremely flexible since it requires no code installed on
the client and a single driver can actually provide access to multiple databases.
Type 4
Using network protocols built into the database engine, type 4 drivers talk directly
to the database using Java sockets. This is the most direct pure Java solution. In
nearly every case, this type of driver will come only from the database vendor.
Regardless of data source location, platform, or driver (Oracle, Microsoft, etc.), JDBC makes
connecting to a data source less difficult by providing a collection of classes that abstract details
of the database interaction. Software engineering with JDBC is also conducive to module reuse.
Programs can easily be ported to a different infrastructure for which you have data stored
(whatever platform you choose to use in the future) with only a driver substitution.
As long as you stick with the more popular database platforms (Oracle, Informix, Microsoft,
MySQL, etc.), there is almost certainly a JDBC driver written to let your programs connect and
manipulate data. You can download a specific JDBC driver from the manufacturer of your
database management system (DBMS) or from a third party (in the case of less popular open
source products). The JDBC driver for your database will come with specific instructions to
make the class files of the driver available to the Java Virtual Machine, which your program is
going to run. JDBC drivers use Java's built-in DriverManager to open and access a database
from within your Java program.
To begin connecting to a data source, you first need to instantiate an object of your JDBC driver.
This essentially requires only one line of code, a command to the DriverManager, telling the
Java Virtual Machine to load the bytecode of your driver into memory, where its methods will be
available to your program. The String parameter below is the fully qualified class name of the
driver you are using for your platform combination:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connecting to a database
In order to connect to a database, you need to perform some initialization first. Your JDBC
driver has to be loaded by the Java Virtual Machine classloader, and your application needs to
check to see that the driver was successfully loaded. We'll be using the ODBC bridge driver, but
if your database vendor supplies a JDBC driver, feel free to use it instead.
To connect to the database, we create a string representation of the database. We take the name
of the datasource from the command line, and attempt to connect as user "dba", whose password
is "sql".
// Create a URL that identifies database
String url = "jdbc:odbc:" + args[0];
// Now attempt to create a database connection
Connection db_connection =
DriverManager.getConnection (url, "dba", "sql");
As you can see, connecting to a database doesn't take much code.
Executing database queries
In JDBC, we use a statement object to execute queries. A statement object is responsible for
sending the SQL statement, and returning a set of results, if needed, from the query. Statement
objects support two main types of statements - an update statement that is normally used for
operations which don't generate a response, and a query statement that returns data.
// Create a statement to send SQL
Statement db_statement = db_connection.createStatement();
Once you have an instance of a statement object, you can call its executeUpdate and
executeQuery methods. To illustrate the executeUpdate command, we'll create a table that stores
information about employees. We'll keep things simple and limit it to name and employee ID.
// Create a simple table, which stores an employee ID and name
db_statement.executeUpdate
("create table employee { int id, char(50) name };");
// Insert an employee, so the table contains data
db_statement.executeUpdate
("insert into employee values (1, 'John Doe');");
// Commit changes
db_connection.commit();
Now that there's data in the table, we can execute queries. The response to a query will be
returned by the executeQuery method as a ResultSet object. ResultSet objects store the last
response to a query for a given statement object. Instances of ResultSet have methods following
the pattern of getXX where XX is the name of a data type. Such data types include numbers
(bytes, ints, shorts, longs, doubles, big-decimals), as well as strings, booleans, timestamps and
binary data.
// Execute query
ResultSet result = db_statement.executeQuery
("select * from employee");
// While more rows exist, print them
while (result.next() )
{
// Use the getInt method to obtain emp. id
System.out.println ("ID : " + result.getInt("ID"));
// Use the getString method to obtain emp. name
System.out.println ("Name : " + result.getString("Name"));
System.out.println ();
}
2.4 Introduction to JSP:
JavaServer 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.
Architecture OF JSP:
Fig – 8 Architecture of JSP
What are the Advantages of JSP?

Active Server Pages (ASP). ASP is a similar technology from Microsoft. The advantages
of JSP are twofold. First, the dynamic part is written in Java, not Visual Basic or other
MS-specific language, so it is more powerful and easier to use. Second, it is portable to
other operating systems and non-Microsoft Web servers.

Pure Servlets. JSP doesn't give you anything that you couldn't in principle do with a
servlet. But it is more convenient to write (and to modify!) regular HTML than to have a
zillion println statements that generate the HTML. Plus, by separating the look from the
content you can put different people on different tasks: your Web page design experts can
build the HTML, leaving places for your servlet programmers to insert the dynamic
content.

Server-Side Includes (SSI). SSI is a widely-supported technology for including
externally-defined pieces into a static Web page. JSP is better because it lets you use
servlets instead of a separate program to generate that dynamic part. Besides, SSI is really
only intended for simple inclusions, not for "real" programs that use form data, make
database connections, and the like.

JavaScript. JavaScript can generate HTML dynamically on the client. This is a useful
capability, but only handles situations where the dynamic information is based on the
client's environment. With the exception of cookies, HTTP and form submission data is
not available to JavaScript. And, since it runs on the client, JavaScript can't access serverside resources like databases, catalogs, pricing information, and the like.

Static HTML. Regular HTML, of course, cannot contain dynamic information. JSP is so
easy and convenient that it is quite feasible to augment HTML pages that only benefit
marginally by the insertion of small amounts of dynamic data. Previously, the cost of
using dynamic data would preclude its use in all but the most valuable instances.
JSP syntax:

A JavaServer 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

custom tags with correct library

JSP directives control how the JSP compiler generates the servlet. The following
directives are available:
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 Fragment)
<%@ 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. Default value is false.
isThreadSafe : Indicates if the resulting servlet is thread safe.
autoFlush : To autoflush the contents.A value of true, the default, indicates that buffer should
be flushed when it is full. A value of false, rarely used, indicates that an exception should be
thrown when the buffer overflows. s will be used, and attempts to access variable session will
result in errors at the time the JSP page is translated into a servlet.
buffer :
To set Buffer Size. The default is 8k and it is advisable that you increase it.
isELIgnored : Defines whether EL expressions are ignored when the JSP is translated.
language : Defines the scripting language used in scriptlets, expressions and declarations. Right
now, the only possible value is "java".
extends : Defines the superclass of the class this JSP will become. You won't use this unless you
REALLY know what you're doing - it overrides the class hierarchy provided by the Container.
info : Defines a String that gets put into the translated page, just so that you can get it using the
generated servlet's inherited getServletInfo() method.
pageEncoding : Defines the character encoding for the JSP. The default is "ISO-8859-1"(unless
the contentType attribute already defines a character encoding, or the page uses XML document
syntax).
<%@ 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
<%@ page session=true %> //example for using session binding
<%@ page autoFlush=true %> //example for setting autoFlush
<%@ page buffer=20 %> //example for setting Buffer Size
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" %>
JSP scripting elements and objects:
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 HttpServletRequest object that provides HTTP request information.
response : The HTTP response object that can be used to send data back to the client.
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 body of java servlet class. Static
data members may be defined as well. Also inner classes should be defined here.
<%! int serverInstanceVariable = 1; %>
Declaration tags also allow methods to be defined.
<%!
/**
* Converts the Object into a string or if
* the Object is null, it returns the empty string.
*/
public String toStringOrBlank( Object obj ){
if(obj != null){
return obj.toString();
}
return ""; }%>
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 %>
Also we can use the following tag to give comments in jsp:
<%-- give your comments here --%>
JSP actions:
JSP actions are XML tags that invoke built-in web server functionality. They are executed at
runtime. Some are standard and some are custom (which are developed by Java developers). The
following list contains the standard ones:
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.
jsp:useBean: Creates or re-uses a JavaBean available to the JSP page. 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: The example above will use a Bean Manager to create an instance of the class
com.foo.MyBean and store the instance in the attribute named "myBean". The attribute will be
available for the life-time of the request. It can be shared among all of the JSPs that were
included or forwarded-to from the main JSP that first received the request.
JSP Tag Libraries:
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.
Consider the following JSP.
<%@ taglib uri="mytaglib.tld" prefix="myprefix" %>...
<myprefix:myaction> <%-- the start tag %>...
</myprefix:myaction> <%-- the end tag %>...
The JSP compiler will load the mytaglib.tld XML file and see that the tag 'myaction' is
implemented by the java class 'MyActionTag'. The first time the tag is used in the file, it will
create an instance of 'MyActionTag'. Then (and each additional time that the tag is used), it will
invoke the method doStartTag() when it encounters the starting tag. It looks at the result of the
start tag, and determines how to process the body of the tag. The body is the text between the
start tag and the end tag. The doStartTag() method may return one of the following:
SKIP_BODY
The body between the tag is not processed.
EVAL_BODY_INCLUDE
Evaluate the body of the tag.
EVAL_BODY_TAG
Evaluate the body of the tag and push the result onto stream (stored in the body content property
of the tag).
Note: If tag extends the BodyTagSupport class, the method doAfterBody() will be called when
the body has been processed just prior to calling the doEndTag(). This method is used to
implement looping constructs.
When it encounters the end tag, it invokes the doEndTag() method. The method may return one
of two values:
EVAL_PAGE
This indicates that the rest of the JSP file should be processed.
SKIP_PAGE
This indicates that no further processing should be done. Control leaves the JSP page. This is
what is used for the forwarding action.
JSP Standard Tag Library (JSTL):
The JavaServer Pages Standard Tag Library (JSTL), is a component of the Java EE Web
application development platform. It extends the JSP specification by adding a tag library of JSP
tags for common tasks, such as XML data processing, conditional execution, loops and
internationalization.
Java Servlet Technology :
Java Servlet technology lets you define HTTP-specific servlet classes. A servlet class extends the
capabilities of servers that host applications accessed by way of a request-response programming
model. Although servlets can respond to any type of request, they are commonly used to extend
the applications hosted by Web servers.
Java Server Pages Technology :
JavaServer Pages technology lets you put snippets of servlet code directly into a text-based
document. A JSP page is a text-based document that contains two types of text: static template
data, which can be expressed in any text-based format such as HTML, WML, and XML, and JSP
elements, which determine how the page constructs dynamic content.
2.5 Introduction to UML
In the field of software engineering, the Unified Modeling Language (UML) is a standardized
specification language for object modeling. UML is a general-purpose modeling language that
includes a graphical notation used to create an abstract model of a system, referred to as a UML
model.UML is officially defined at the Object Management Group (OMG) by the UML meta
model, a Meta-Object Facility meta model (MOF). Like other MOF-based specifications, the
UML meta model and UML models may be serialized in XMI. UML was designed to specify,
visualize, construct, and document software-intensive systems.
UML is not restricted to modeling software. UML is also used for business process modeling,
systems engineering modeling, and representing organizational structures. The Systems
Modeling Language (SysML) is a Domain-Specific Modeling language for systems engineering
that is defined as a UML 2.0 profile.
UML has been a catalyst for the evolution of model-driven technologies, which include Model
Driven Development (MDD), Model Driven Engineering (MDE), and Model Driven
Architecture (MDA). By establishing an industry consensus on a graphic notation to represent
common concepts like classes, components, generalization, aggregation, and behaviors, UML
has allowed software developers to concentrate more on design and architecture.
UML models may be automatically transformed to other representations (e.g. Java) by means of
QVT-like transformation languages, supported by the OMG.UML is extensible, offering the
following mechanisms for customization: profiles and stereotype. The semantics of extension by
profiles has been improved with the UML 2.0 major revision.
2.6 NETBEANS
NetBeans refers to both a platform framework for Java desktop applications, and an integrated
development environment (IDE) for developing with Java, JavaScript, PHP, Python, Ruby,
Groovy, C, C++, Scala, Clojure, and others.
The NetBeans IDE is written in Java and can run anywhere a JVM is installed, including
Windows, Mac OS, Linux, and Solaris. A JDK is required for Java development functionality,
but is not required for development in other programming languages.
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) can be extended by third party developers.[1]
Early history
NetBeans began in 1996 as Xelfi (word play on Delphi),[3][4] a Java IDE student project under the
guidance of the Faculty of Mathematics and Physics at Charles University in Prague. In 1997
Roman Staněk formed a company around the project and produced commercial versions of the
NetBeans IDE until it was bought by Sun Microsystems in 1999. Sun open-sourced the
NetBeans IDE in June of the following year. Since then, the NetBeans community has continued
to grow.[5]
[edit] Current versions
NetBeans IDE 6.0 introduced support for developing IDE modules and rich client applications
based on the NetBeans platform, a Java Swing GUI builder (formerly known as "Project
Matisse"), improved CVS support, WebLogic 9 and JBoss 4 support, and many editor
enhancements. NetBeans 6 is available in official repositories of major Linux distributions.
NetBeans IDE 6.5, released in November 2008, extended the existing Java EE features
(including Java Persistence support, EJB 3 and JAX-WS). Additionally, the NetBeans Enterprise
Pack supports development of Java EE 5 enterprise applications, including SOA visual design
tools, XML schema tools, web services orchestration (for BPEL), and UML modeling. The
NetBeans IDE Bundle for C/C++ supports C/C++ development.
The NetBeans IDE 6.8 is the first IDE to provide complete support of Java EE 6 and the
GlassFish Enterprise Server v3. Developers hosting their open-source projects on kenai.com
additionally benefit from instant messaging and issue tracking integration and navigation right in
the IDE, support for web application development with PHP 5.3 and the Symfony framework,
and improved code completion, layouting, hints and navigation in JavaFX projects.
NetBeans IDE 6.9, released in June 2010, added support for OSGi, Spring Framework 3.0, Java
EE dependency injection (JSR-299), Zend Framework for PHP, and easier code navigation (such
as "Is Overridden/Implemented" annotations), formatting, hints, and refactoring across several
languages.
NetBeans Platform
The NetBeans Platform is a reusable 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-signed upgrades 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 Bundle for Web & Java EE
The NetBeans IDE Bundle for Web & Java EE[11] provides complete tools for all the latest
Java EE 6 standards, including the new Java EE 6 Web Profile, Enterprise Java Beans (EJBs),
servlets, Java Persistence API, web services, and annotations. NetBeans also supports the JSF 2.0
(Facelets), JavaServer Pages (JSP), Hibernate, Spring, and Struts frameworks, and the Java EE 5
and J2EE 1.4 platforms. It includes GlassFish and Apache Tomcat.
NetBeans IDE Complete Bundle:
Sun Microsystems also releases a version of NetBeans that includes all of the features of the
above bundles. This bundle includes:

NetBeans Base IDE

Java SE, JavaFX

Web & Java EE

Java ME

Ruby

C/C++

PHP (Version 6.5 and later)

GlassFish

Apache Tomcat
NetBeans IDE
The NetBeans IDE is an open-source integrated development environment. NetBeans IDE
supports development of all Java application types (Java SE including JavaFX, (Java ME, web,
EJB and mobile applications) out of the box. Among other features are an Ant-based project
system, Maven support, refactorings, version control (supporting CVS, Subversion, 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.
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.
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 component
The GUI builder also has built-in support for JSR 296 (Swing Application Framework), and JSR
295 (Beans Binding technology).
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).
2.7 INTRODUCTION TO HTML
HTML, or HyperText Markup Language is designed to specify the logical organisation of
adocument, with important hypertext extensions. It is not designed to be the language of a
WYSIWYG word processor such as Word or WordPerfect. This choice was made because the
same HTML document may be viewed by many different "browsers", of very different abilities.
Thus, for example, HTML allows you to mark selections of text as titles or paragraphs, and then
leaves the interpretation of these marked elements up to the browser. For example one browser
may indent the beginning of a paragraph, while another may only leave a blank line.
HTML instructions divide the text of a document into blocks called elements. These can be
divided into two broad categories -- those that define how the BODY of the document is to be
displayed by the browser, and those that define information `about' the document, such as the
title or relationships to other documents. The vocabulary of these elements and a description of
the overall design of HTML documents is given in the rest of Section 2. The Last part of the
section also describes standard naming schemes for HTML documents and related files.
The detailed rules for HTML (the names of the tags/elements, how they can be used) are defined
using another language known as the standard generalized markup language, or SGML. SGML
is wickedly difficult, and was designed for massive document collections, such as repair manuals
for F-16 fighters, or maintenance plans for nuclear submarines. Fortunately, HTML is much
simpler!
However, SGML has useful features that HTML lacks. For this reason, markup language and
software experts have developed a new language, called XML (the eXtensible markup language)
which has most of the most useful features of HTML and SGML.
URL: Uniform Resource Locator
If you watch television, read magazines and newspapers, or receive mail at your home, you have
probably seen a "URL" (uniform resource locator). When someone has information they want
you to access via the Web, they'll give you its electronic address, its URL. URLs are unique to
each document and are a relatively easy way to navigate between the millions of online
documents.
Knowing a documents URL allows you to go directly to it; from most browsers you can go to the
tool bar and click on the "open" button or go to the "File" menu and choose the option "Open
URL" or "Open file". Regardless of which method you choose, a box will appear on your screen
where you can enter the URL of the information you wish to access.
For example, to access information on using a web conferencing system called NetForum , I
would provide its URL:
http://www.biostat.wisc.edu/nf_home/
You would then enter this in its entirety and click on "open." Be sure to enter a URL exactly as it
appears since they are case sensitive.
In this tutorial, we show you how to add links to other Web pages from your own home page.
Methods of preparing an HTML document
There are several ways an HTML document can be prepared:
use an HTML editor such as HTML Assistant (used in this class; basic HTML tags are
already built in and you select the text and just point and click on the desired tag located on the
tool bar)
use an HTML editor provided in your Word Processor (Microsoft Internet Assisstant for Word
for Windows 6.0)
create an ASCII text file (using a text editor such as TED, BBEdit, DOS edit, or any word
processor that can save ASCII text)
convert a Rich Text Format (RTF) file to HTML (most word processors give you an option of
saving a file as RTF).
There are dozens of HTML editors and converters available, both free and commercial. Our
philosophy is that no matter how good the HTML editor or converter, you'll have to do some
tweaking at some time, so knowing what all the HTML tags mean is important. We make no
recommendations on editors, but we will mention that Netscape Gold comes with its own editor
and many word processors are now coming "HTML ready" (ie, have mechanisms for adding
tags).
Regardless of what editor you use, most of them have a toolbar with the different tags available
and you select your text and then point and click on the appropriate tag.
HTML file extensions and the source document
When naming HTML files, keep in mind that some clients require your file name to have a
".html" extension (for DOS/Windows users, this is a ".htm" extension). To be safe, all HTML
files you create should use the ".html" naming convention.
You can view the HTML tags for any HTML document by looking at the "source" document that
contains the HTML tags, usually called "View Source" or "View Document Source" from the
"View" menu on most clients. Using this option is a nice way to learn new things as well as
refresh your memory when working with HTML tags.
The HTML tag
Although not currently required by all clients, the <html> tag signals the point where text should
start being interpreted as HTML code. It's probably a good idea to include it in all your
documents now, so you don't have to go back to your files and add it later.
The <html> tag is usually placed on the first line of your document. At the end of your document
you should close with the </html> tag.
The head tag
Just like the header of a memo, the head of an HTML document contains special information,
like its title. The head of a document is demarcated by <head> and </head> respectively.For the
purposes of this class, only the title tag, below, should be included in the document head. A
typical head section might look like
<html>
<head>
<title>My First HTML Document</title>
</head>
Titles
A title tag allows you to specify a Document Title in your browser window. When people make
hotlists, this title is what they see in their list after they add your document. The format is:
<title>My First HTML Document</title>
Remember, the title usually doesn't appear in the document itself, but in a title box or bar at the
top of the window.
The body tag
Like you might expect, the body tags <body> and </body> define the beginning and end of the
bulk of your document. All your text, images, and links will be in the body of the document.
The body should start after the head. A typical page might begin like
<html>
<head>
<title>My First HTML Document</title>
</head>
<body>
2.8 DREAMWEAVER
Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a web development
application originally created by Macromedia, and is now developed by Adobe Systems, which
acquired Macromedia in 2005.
Dreamweaver is available for both Mac and Windows operating systems. Recent versions have
incorporated support for web technologies such as CSS, JavaScript, and various server-side
scripting languages and frameworks including ASP, ColdFusion, and PHP.
Features
Dreamweaver allows users to preview websites in locally installed web browsers. It provides
transfer and synchronization features, the ability to find and replace lines of text or code by
search terms and regular expressions across the entire site, and a templating feature that allows
single-source update of shared code and layout across entire sites without server-side includes or
scripting. The behaviours panel also enables use of basic JavaScript without any coding
knowledge, and integration with Adobe's Spry Ajax framework offers easy access to
dynamically-generated content and interfaces.
Dreamweaver can use third-party "Extensions" to extend core functionality of the application,
which any web developer can write (largely in HTML and JavaScript). Dreamweaver is
supported by a large community of extension developers who make extensions available (both
commercial and free) for most web development tasks from simple rollover effects to fullfeatured shopping carts.
Dreamweaver, like other HTML editors, edits files locally then uploads them to the remote web
server using FTP, SFTP, or WebDAV. Dreamweaver CS4 now supports the Subversion (SVN)
version control system.
Syntax highlighting
As of version 6, Dreamweaver supports syntax highlighting for the following languages out of
the box:

ActionScript

Active Server Pages (ASP).

ASP.NET (no longer supported as of version CS4 http://kb2.adobe.com/cps/402/kb402489.html)

C#

Cascading Style Sheets (CSS)

ColdFusion

EDML

Extensible HyperText Markup Language (XHTML)

Extensible Markup Language (XML)

Extensible Stylesheet Language Transformations (XSLT)

HyperText Markup Language (HTML)

Java

JavaScript

JavaServer Pages (JSP) (no longer supported as of version CS4 http://kb2.adobe.com/cps/402/kb402489.html)

PHP: Hypertext Preprocessor (PHP)

Visual Basic (VB)

Visual Basic Script Edition (VBScript)

Wireless Markup Language (WML)
It is also possible to add your own language syntax highlighting. In addition, code completion is
available for many of these languages.
Internationalization and localization
Language availability
Adobe Dreamweaver CS5 is available in the following languages: Brazilian Portuguese, Chinese
Simplified, Chinese Traditional, Czech, Dutch, English, French, German, Italian, Japanese,
Korean, Polish, Russian, Spanish Swedish and Turkish.
Specific Features for Arabic and Hebrew languages
The older Adobe Dreamweaver CS3 also features a Middle Eastern version that allows typing
Arabic, Persian or Hebrew text (written from right to left) within the code view. Whether the text
is fully Middle Eastern (written from right to left) or includes both English and Middle Eastern
text (written left to right and right to left), it will be displayed properly in the browser.
CHAPTER-3
SYSTEM
ANALYSIS
3.1 Analysis of project
Now a day the usage of credit cards has dramatically increased. As credit card becomes the most
popular mode of payment for both online as well as regular purchase, cases of fraud associated
with it are also rising. In this paper, we model the sequence of operations in credit card
transaction processing using a Hidden Markov Model (HMM) and show how it can be used for
the detection of frauds. An HMM is initially trained with the normal behavior of a card holder. If
an incoming credit card transaction is not accepted by the trained HMM with sufficiently high
probability, it is consider to the fraudulent. At the same time, we try to ensure that genuine
transactions are not rejected. We present detailed experimental results to show the effectiveness
of our approach and compare it with other techniques available in the literature.
EXISTING SYSTEM:
The system addresses the staff department wise. Appropriate dept staff has access to
functionalities in this application. The modules are accessible based on the staff logged in. The
administrator tracks staff, schedules, parking bay information, traffic flow (landing & takeoff)
Existing system effectively performs the tasks like staff management ,scheduling management,
parking bay management, traffic flow etc and usage of fuel.
PROPOSED SYSTEM:
Malfunctioning can lead to severe life and property loss especially in the systems like flight
monitoring system . The proposed system imbibes all the tasks of the existing system. But
attempt was made to give the instantaneous report to the respective departments .
this was implemented by continuously monitoring the tasks which is achieved by advanced
ground monitoring system. Effective steps were taken to manage the critical situtations
ADVANTAGES
1. The detection of the fraud use of the card is found much faster that the existing system.
2. In case of the existing system even the original card holder is also checked for fraud
detection. But in this system no need to check the original user as we maintain a log.
3. The log which is maintained will also be a proof for the bank for the transaction made.
4. We can find the most accurate detection using this technique.
5. This reduce the tedious work of an employee in the bank.
3.4
Feasibility Study
The most important thing in the software engineering is the feasibility study. It is a study of the
applicability or practicability of a proposed action or plan. It determines if the information
system makes STS for the organization from an economic and operational standpoint. It is a
detailed investigation and analysis of a proposed development project to determine whether it is
viable technically and economically.
It has been defined as a study designed to determine if the system proposed would be feasible or
not, system analysis is performed basis on the policies and plans of the steering committees on
the requirement. Once the problem is clearly understood the next step is to conduct feasibility
study which is a high level capsule version of the system analysis and design process.
Feasibility study is categorized as follows:
Economic feasibility
Technical feasibility
Operational feasibility
1. Economical feasibility
Economic analysis more commonly known as cost/benefit analysis is used to measure the
effectiveness of the proposed system. In economic feasibility study we determine things such as
whether the cost of establishing the proposed system is more than that incurred in maintaining
the present system, benefits and saving associated with the system are identified and analyzed. If
benefits outweigh cost, then the steps are taken for the further development of system.
Otherwise, revisions and alterations are done in the proposed system to make it economically
feasible.
STS is economically feasible in following ways:
The cost of developing and deploying STS is very low.
STS is developed using open source technology and results in low developing cost.
STS is platform independent and the user of STS does not need to invest huge amount on
purchasing the licensed versions.
As STS is a general architecture which can be accustomed on any domain very easily hence
reduces the installation charges also as only a little or no modifications are to be done to STS
while deploying on various domains.
2. Technical feasibility
Technical feasibility focuses on the extent of the reusability of the existing system in the
proposed system, including hardware, software etc. it is the study whether reliable hardware and
software, technical resources capable of meeting the needs of a proposed system can be acquired
or developed by an organization in the required time.
STS is technically feasible in following ways:
STS is technically feasible because each module in STS can be deployed individually.
STS can be reused efficiently and effectively.
3. Operational Feasibility
Proposed system is beneficial only if they can be turned into information system that will meet
the organizations operating system. Operational feasibility is defined as the process of assessing
the degree to which a proposed system solves business problems or takes advantage of business
opportunities. The key issue that arises here is that whether the employees need any training
before shifting to the proposed system.
STS is easy to use as no special training is needed to use it. STS is a GUI application and is
highly user friendly. Also, no need to recruit any special staff to maintain STS, besides STS
provides an inbuilt help file which can be understood at ease.
CHAPTER-4
SYSTEM ANALYSIS
Introduction to Web Application Development (Tomcat):
With J Builder, you can build and deploy server-side Java applications that deliver dynamically
generated HTML to any client running a browser.
TOMCAT :
Apache Tomcat is a web container, or application server developed at the Apache Software
Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer 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 internal HTTP server.
An overview of the different versions can be found on the Apache website.
Tomcat 3.x (initial release)
Tomcat 4.x

implements the Servlet 2.3 and JSP 1.2 specifications

servlet container redesigned as Catalina

JSP engine redesigned as Jasper

Coyote HTTP connector

Java Management Extensions (JMX), JSP and Struts-based administration
Tomcat 5.x

implements the Servlet 2.4 and JSP 2.0 specifications

reduced garbage collection, improved performance and scalability

native Windows and Unix wrappers for platform integration

faster JSP parsing
Tomcat 6.x

implements the Servlet 2.5 and JSP 2.1 specifications

support for Unified Expression Language 2.1

designed to run on Java SE 5.0 and later

support for Comet through the CometProcessor interface
History
Tomcat started off as a servlet reference implementation by James Duncan Davidson, a software
architect at Sun Microsystems. He later helped make the project open source and played a key
role in its donation by Sun to the Apache Software Foundation. The Apache Ant software build
automation tool was developed as a side-effect of the creation of Tomcat as an open source
project.
Davidson had initially hoped that the project would become open sourced and, since most open
source projects had O'Reilly books associated with them featuring an animal on the cover, he
wanted to name the project after an animal.[3] He came up with Tomcat since he reasoned the
animal represented something that could fend for itself. Although the tomcat was already in use
for another O'Reilly title, his wish to see an animal cover eventually came true when O'Reilly
published their Tomcat book with a snow leopard on the cover
Configuring & Using Apache Tomcat 6
A Tutorial on Installing and Using
Jakarta Tomcat for Servlet and JSP Development
Following is a guide to installing and configuring Apache Tomcat 6 for use as a standalone Web
server (for development) that supports servlets 2.5 and JSP 2.1. (Note: Apache Tomcat is
sometimes referred to as "Jakarta Tomcat" since the Apache Java effort is known as "The
Jakarta Project"). This Tomcat tutorial covers version 6.0.10, but the steps are almost the same
for any Tomcat 6.0.x version. For coverage of Tomcat 5.5, see the separate Tomcat 5.5 tutorial.
For coverage of very old Tomcat versions (Tomcat 5.0.x and Tomcat 4.0.x), please see the
Apache Tomcat 5.0 and 4.0 tutorial.
Using Tomcat as a deployment server or integrating Tomcat as a plugin within the regular
Apache server or a commercial Web server is more complicated than what is described in this
tutorial. Although such integration is valuable for a deployment scenario (see
http://tomcat.apache.org/tomcat-6.0-doc/), my goal here is to show how to use Tomcat as a
development server on your desktop. Regardless of what deployment server you use, you'll want
a standalone server on your desktop to use for development.
The examples here assume you are using Windows, but they can be easily adapted for MacOS,
Linux, Solaris, and other versions of Unix. Except when I refer to specific Windows paths (e.g.,
C:\blah\blah), I use URL-style forward slashes for path separators (e.g.,
install_dir/webapps/ROOT). Adapt as necessary.
Details of each step are given below. If Tomcat is already running, restart it after performing
these steps.
Download the Apache Tomcat Software:
Go to http://tomcat.apache.org/download-60.cgi and download and unpack the zip file for the
current release build of Tomcat 6. You specify the top-level directory (e.g., C:\) and the zip file
has embedded subdirectories (e.g., apache-tomcat-6.0.10). Thus, C:\apache-tomcat-6.0.10 is a
common resultant installation directory. Note: from this point forward, I'll refer to that location
as install_dir. For Windows, there is also a .exe installer; I prefer the .zip file, but see the .exe
installer section for notes on the differences between the two.
Alternatively, you can use my preconfigured Jakarta Tomcat version. This version already has
the port changed to 80, servlet reloading enabled, and the invoker servlet turned on. It also comes
with a sample development directory, autoexec.bat file, startup/shutdown shortcuts, and
shortcuts for deploying applications.
Set the JAVA_HOME Variable:
Next, you must set the JAVA_HOME environment variable to tell Tomcat where to find Java.
Failing to properly set this variable prevents Tomcat from compiling JSP pages. This variable
should list the base JDK installation directory, not the bin subdirectory. For example, on almost
any version of Windows, if you use JDK 1.5_08, you might put the following line in your
C:\autoexec.bat file.
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_08
On Windows XP, you could also go to the Start menu, select Control Panel, choose System, click
on the advanced tab, press the Environment Variables button at the bottom, and enter the
JAVA_HOME
variable and value directly. On Windows 2000 and NT, you do Start, Settings,
Control Panel, System, then Environment. However, you can use C:\autoexec.bat on those
versions of Windows also (unless a system administrator h as set your PC to ignore it).
Change the Port to 80:
Assuming you have no other server already running on port 80, you'll find it convenient to
configure Tomcat to run on the default HTTP port (80) instead of the out-of-the-box port of
8080. Making this change lets you use URLs of the form http://localhost/blah instead of
http://localhost:8080/blah. Note that you need admin privileges to make this change on
Unix/Linux. Also note that some versions of Windows XP automatically start IIS on port 80. So,
if you use XP and want to use port 80 for Tomcat, you may need to disable IIS (see the
Administrative Tools section of the Control Panel).
To change the port, edit install_dir/conf/server.xml and change the port attribute of the
Connector
element from 8080 to 80, yielding a result similar to that below.
<Connector port="80" ...
maxThreads="150" ...
You can also:

Use my preconfigured Jakarta Tomcat version. Apache Tomcat 6.0.10 with all
server.xml, context.xml, and web.xml changes, plus the sample HTML, JSP, and Java
files.

Download my modified server.xml for Tomcat 6.0. From Apache Tomcat 6.0.10, but
should work on most versions of Tomcat 6.0. Right-click or shift-click on the link to
download the file.
Turn on Servlet Reloading:
The next step is to tell Tomcat to check the modification dates of the class files of requested
servlets, and reload ones that have changed since they were loaded into the server's memory.
This slightly degrades performance in deployment situations, so is turned off by default.
However, if you fail to turn it on for your development server, you'll have to restart the server
every time you recompile a servlet that has already been loaded into the server's memory. Since
this tutorial discusses the use of Tomcat for development, this change is strongly recommended.
To turn on servlet reloading, edit Edit install_dir/conf/context.xml and change
<Context>
to
<Context reloadable="true" privileged="true">
Note that the privileged entry is really to support the invoker servlet (see the following
section), so you can omit that entry if you do not use the invoker.
You can also:

Use my preconfigured Tomcat version. Tomcat 6.0.10 with all server.xml, context.xml,
and web.xml changes, plus the sample HTML, JSP, and Java files.

Download my modified context.xml for Tomcat 6.0. From Tomcat 6.0.10, but should
work on most versions of Tomcat 6.0. Right-click or shift-click on the link to download
the file.
Enable the Invoker Servlet:
The invoker servlet lets you run servlets without first making changes to your Web application's
deployment descriptor (i.e., the WEB-INF/web.xml file). Instead, you just drop your servlet into
WEB-INF/classes and use the URL http://host/servlet/ServletName (or
http://host/webAppName/servlet/ServletName once you start using your own Web applications.
The invoker servlet is extremely convenient when you are learning and even when you are
testing things doing your initial development. You almost certainly want to enable it when
learning, but you should disable it again before deploying any real applications.
In Tomcat 6 (but not Tomcat 5.5), you also need the privileged="true" entry in the Context
element of context.xml. See the previous section for an example.
You can also:

Use my preconfigured Tomcat version. Tomcat 6.0 with all server.xml, context.xml, and
web.xml changes, plus the sample HTML, JSP, and Java files.

Download my modified web.xml for Tomcat 6.0. From Tomcat 6.0.10, but should work
on most versions of Tomcat 6.0. Right-click or shift-click on the link to download the
file.
Turn on Directory Listings (Optional)
In previous Tomcat versions, if you entered a URL ending in a slash (/) and there was no
welcome-file in the directory (or servlet-mapping that matched the URL), Tomcat displayed a
directory listing. In Tomcat 6, the default was changed from true to false for these directory
listings. Many developers find it convenient to turn directory listings back on. To make this
change, edit install_dir/conf/web.xml and change the init-param value of listings for the default
servlet, as below. Do not confuse this Apache Tomcat-specific web.xml file with the standard
one that goes in the WEB-INF directory of each Web application.
4.3 Introduction to UML
The unified modeling language allows the software engineer to express an analysis model using
the modeling notation that is governed by a set of syntactic semantic and pragmatic rules.
A UML system is represented using five different views that describe the system from
distinctly different perspective. Each view is defined by a set of diagram ,which is as follows.
User model view

. this view represents the system from the users perspective.

The analysis representation describes a usage scenario from the end-users perspective.
Structural model view

In this model the data and functionality are arrived from inside the system.

This view models the static structures.
Behavioral model view

It represents the dynamic of behavioral as part of the system, depicting the interactions of
collection between various structural elements described in the user
model and structural model view.
Implementation model view

In this the structural and behavioral as part of the system are represented as they are to be
built.
Environmental model view

In this the structural and behavioral aspects of the environment in which the system is to
be implemented are to be represented.

UML is specifically constructed through two different domains they are

UML Analysis the modeling, which focuses on the user model and structural model
views of the system?

UML design modeling, which focuses on the behavioral modeling, implementation
modeling and environmental model views.

Use Case Diagrams represents the functionality of the system from a user’s point of view.
UseCases are used during requirements elicitation and analysis to represent the
Functionality of the system.

UseCase focus on the system from external point of view.

Actors are external entities that interact with the system. Examples of actors include users
like administrator, bank customer…..etc., or another system like central database
Rational Rose
Rational Rose is an object-oriented Unified Modeling Language (UML) software design tool
intended for visual modeling and component construction of enterprise-level software
applications. In much the same way a theatrical director blocks out a play, a software designer
uses Rational Rose to visually create (model) the framework for an application by blocking out
classes with actors (stick figures), use case elements (ovals), objects (rectangles) and
messages/relationships (arrows) in a sequence diagram using drag-and-drop symbols. Rational
Rose documents the diagram as it is being constructed and then generates code in the designer's
choice of C++, Visual Basic, Java, Oracle8, CORBA or Data Definition Language.
Two popular features of Rational Rose are its ability to provide iterative development and roundtrip engineering. Rational Rose allows designers to take advantage of iterative development
(sometimes called evolutionary development) because the new application can be created in
stages with the output of one iteration becoming the input to the next. (This is in contrast to
waterfall development where the whole project is completed from start to finish before a user
gets to try it out.) Then, as the developer begins to understand how the components interact and
makes modifications in the design, Rational Rose can perform what is called "round-trip
engineering" by going back and updating the rest of the model to ensure the code remains
consistent.
Rational Rose is extensible, with downloadable add-ins and third-party partner applications. It
supports COM/DCOM (ActiveX), JavaBeans, and Corba component standards.
UML DIAGRAMS
USE-CASE SPECIFICATION FILE FOR USER-BANK USE CASE
Precondition:
The person should be an authorized person.
Main flow:
Enter the user-id.
Enter the password.
User logins into the bank to open an account inorder to attain the creditcard
Submit (E1).
Post condition:
If the user-id and password are correct then the person is allowed to access the system
USE-CASE SPECIFICATION FILE FOR USER-BANK USE CASE
Precondition:
Main flow:
The person must set the security questions and must answer it while the transaction is under
process and he can update the questions when required.If the user wants to know the history of
his trancastion done the bank will provide the history.
Submit (E1).
Alternate flow:
E1: Re-enter the filename.
Post condition:
A crc file is generated.
CHAPTER-5
SYSTEM
IMPLEMENTATION
5.1 TESTING:
TESTING OBJECTIVES :

Testing is a process of executing a program with the intent of finding an error.

A good test has a high probability of finding an as yet undiscovered error.

A successful test is one that uncovers an as yet undiscovered error
The objective is to design tests that systematically uncover different classes of errors and do
so with a minimum amount of time and effort. Testing cannot show the absence of defects, it
can only show that software defects are present.
UNIT TESTING:
Interface
Number of input parameters should be equal to number of arguments.
Parameter and argument attributes must match.
Parameters passed should be in correct order.
Global variable definitions consistent across module.
If module does I/O,

File attributes should be correct.

Open/Close statements must be correct.

Format specifications should match I/O statements.

Buffer Size should match record size.

Files should be opened before use.

End of file condition should be handled.

I/O errors should be handled.

Any textual errors in output information must be checked.
Local Data Structures (common source of errors!)

Improper or inconsistent typing.

Erroneous initialization or default values.

Incorrect variable names.

Inconsistent date types.

Overflow, underflow, address exceptions.
Boundary conditions and Independent paths
Error Handling

Error description unintelligible.

Error noted does not correspond to error encountered.

Error condition handled by system run-time before error handler gets control.

Exception condition processing incorrect.
INTEGRATION TESTING:
TOP DOWN INTEGRATION :
Modules integrated by moving down the program design hierarchy. Can use depth first or
breadth first top down integration
Verifies major control and decision points early in design process. Top-level structure tested
most. Depth first implementation allows a complete function to be implemented, tested and
demonstrated. Can do depth first implementation of critical functions early. Top down
integration forced (to some extent) by some development tools in programs with graphical
user interfaces.
BOTTOM UP INTEGRATION :
Begin construction and testing with atomic modules (lowest level modules).Bottom up
integration testing as its name implies begins construction and testing with atomic modules.
Because modules are integrated from the bottom up, processing required for modules
subordinate to a given level is always available and the need for stubs is eliminated
3. VALIADATION TESTING :
Validation testing is aims to demonstrate that the software functions in a manner that can be
reasonably expected by the customer. This tests conformance the software to the Software
Requirements Specification.
Validation Test Criteria :
A set of black box test is to demonstrate conformance with requirements. To check that all
functional requirements satisfied, all performance requirements achieved, documentation is
correct and ' human-engineered', and other requirements are met (e.g. compatibility, error
recovery, and maintainability).
When validation tests fail it may be too late to correct the error prior to scheduled delivery.
Need to negotiate a method of resolving deficiencies with the customer.
Configuration Review :
An audit to ensure that all elements of the software configuration are properly developed
catalogued and has all the necessary detail to support maintenance.
4. ALPHA AND BETA TESTING :
It is difficult to anticipate how users will really use software. If there is one customer, a series
of acceptance tests are conducted (by the customer) to enable the customer to validate all
requirements. If software is being developed for use by multiple customers, cannot use
acceptance testing. An alternative is to use alpha and beta testing to uncover errors.
A customer conducts alpha testing at the developer's site. The customer uses the software
with the developer 'looking over the shoulder' and recording errors and usage problems.
Alpha testing conducted in a controlled environment
Beta testing is conducted at one or more customer sites by end users. It is ' live ' testing in an
environment not controlled by developer. The customer records and reports difficulties and
errors at regular intervals.
5. SYSTEM TESTING :
Software is only one component of a system. Software will be incorporated with other
system components and system integration and validation test performance.
6. RECOVERY TESTING :
Many systems need to be fault tolerant-processing faults must not cause overall system
failure. Other systems require after a failure within a specified time. Recovery testing is the
forced failure of the software in a variety of ways to verify that recovery is properly
performed.
7. SECURITY TESTING :
System with sensitive information or which have the potential to harm individuals can be
target for improper or illegal use. This can include:

attempted penetration of the system by outside individuals for fun or personal
gain.

disgruntled or dishonest employees.
During security testing the tester plays the role of the individual trying to penetrate the
system. Large range of methods:

Attempt to acquire passwords through external clerical means.

Use custom software to attack the system.

Overwhelm the system with requests.

Cause system errors and attempt to penetrate the system during recovery.

Browse through insecure data.
Given time and resources, the security of most systems can be breached.
8. PERFORMANCE TESTING :
For real-time and embedded systems, functional requirements may be satisfied but
performance problems make the system unacceptable. Performance testing checks the
run-time performance in the context of the integrated system Can be coupled with stress
testing, May require special software instrumentation.
Testing under various software development :
Requirements Stage
The requirements documents are tested by disciplined inspection and review. The
preparation of test plan, which should include:
1. Specification
2. Description of test precious
3. Test milestones
4. Test Schedule
5. Test data reduction
6. Evaluation criteria
Design Stage
Design products are tested by analysis, simulation, walkthrough and inspection. Test data
for functions are generated. Test cases based on structure of system are generated.
Construction Stage
This stage includes the actual execution of code with test data. Code walkthrough and
inspection are conducted. Static analysis, Dynamic analysis, Construction of test drivers,
hair nesses and stubs are done. Control and management of test process is critical. All test
sets, test results and test reports should be catalogued and stored.
Operation and Maintenance Stage
Modifications done to the software requires retesting this is termed regression testing.
Changes at a given level will necessitate retesting at all levels below it.
Approaches
Two basics approach:
1. Black box or "Functional" analysis
2. White box or "Structural" analysis
BLACK BOX TESTING:
Boundary value analysis (Stress Testing)
In this method the input data is partitioned and data inside and at the boundary of each
partition is tested.
Design based functional testing
Functional hierarchy is constructed. For each function at each level extrenal, non-extreamal
and special value test data are identified. Test data is identified such that it will generate
extremal, non-extremal and special output values.
Cause-effect graphing
In this method the characteristic input stimuli (Causes), characteristic output classes (effects)
are identified. The dependencies are identified using specification. These details are
presented as directed graph. Test cases are chosen to test dependencies.
WHITE BOX TESTING
Coverage-based testing :
The Program is represented as control-flow graph. The paths are identified. Data are chosen
to maximize paths executed under test conditions. For paths that are not always finite and
those infeasible, Coverage metrics can be applied.
Complexity-based testing :
The Cyclomatic Complexity is measured. The paths actually executed by
program
running on test data are identified and the actual complexity is set. A test set is devised which
will drive actual complexity closer to Cyclomatic complexity.
Test Data Analysis :
During Test Data Analysis “The Goodness of the test data set" is taken into major
consideration.
Statistical analysis and error seeding :
Known errors are seeded into the code so that their placement is statistically similar to that of
actual errors .
Mutation Analysis :
It is assumed that a set of test data that can uncover all simple faults in a program is capable
of detecting more complex faults. In mutation analysis a large number of simple faults, called
mutation, are introduced in a program one at a time .The resulting changed versions of the
test program are called mutates. Test data is then be constructed to cause these mutants to
fail. The effectiveness of the test data set is measured by the percentage to mutants killed.
Test Results :
The listed tests were conducted in the software at the various developments stages. Unit testing
was conducted. The errors were debugged and regression testing was performed. The integration
testing will be performed once the system is integrated with other related systems like Inventory,
Budget etc. Once the design stage was over the Black Box and White Box Testing was
performed on the entire application. The results were analyzed and the appropriate alterations
were made. The test results proved to be positive and henceforth the application is feasible and
test approved.
5.2 Test cases
Test case for Admin Login use case
Test
case
No.
1.
2.
3.
Input
Admin enters
correct
username and
password.
Admin enters
incorrect
username or
password.
Admin closes
the login form.
Expected Behavior
Observed
behavior
Status
admin is logged in and
access is granted.
-do-
Pass
Access is denied and
the user is asked to reenter details.
-do-
Pass
Exit the system
-do-
Pass
Test case for USER- use case:
Test
case
No.
Input
Expected Behavior
Observed
behavior
Status
1.
2.
3.
4.
User enters
valid details
User enters
invalid details
Submit button
is clicked
Accepts the details
-do-
Pass
Prompts the user to reenter the details
Prompts the user to
enter the file name.
-do-
Pass
-do-
Pass
.User closes
the frame
Exits from the
Administration service
-do-
pass
Observed
behavior
Status
Accepts the file.
-do-
Pass
Prompts the user to reenter the file name.
-do-
Pass
Prompts the user to
enter the file name.
-do-
Pass
Test case for USER-ADMIN use case:
Test
case
No.
1.
2.
3.
Input
User enters a
valid .crc file
name.
User enters
invalid file
name.
Compress
button is
clicked before
selecting the
file.
Expected Behavior
5.2 GUI SCREENS
CHAPTER-6
CONCLUSION
Now a days in this 21st century the growth is rampant right from small scale industries to the
rocket engineering .all the fields in this varied range need to use the sophisticated technology and
equipment to keep on pace with the changing times .
Airport administration and maintenance is no exception for it .growth of
the passenger flow, immigration are high now a days due to various reasons right from
globalization to politics, employment and economic crisis. the rate is set to have the exponential
growth and having no signs of decreasing .this adds to the already complex task of maintaining
whole airport activities. therefore effective ,adaptable capable reliable system should be in place
to handle all these activities .
Our project describes the basic activities that often takes place in the airport
which includes parking bay management, scheduling of flights their arrival and departure, staff
management, ground staff to pilot communication .attempt was made to enhance the areas to
avoid worst catastrophes by detecting the problem early taking the necessary actions. ground
monitoring system is a great help for the job .apart from it instantaneous report helps in
analyzing the tasks to take necessary proactive steps.
A lot is to be still done to cope up with the challenges ahead .many world class
airports also face challenges in the day by day increase in the air traffic. Our project is minor step
CHAPTER-7
BIBILOGRAPHY
Download