0% found this document useful (0 votes)
29 views64 pages

Report PDF

Project report on Job enlist webapp

Uploaded by

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

Report PDF

Project report on Job enlist webapp

Uploaded by

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

CHAPTER-1

1.INTRODUCTION
1.1. Overview:
Jobenlist Webapp is developed for creating an interactive job vacancy for candidates.
An employment website is a web site that deals specifically with employment or careers. Many
employment websites are designed to allow employers to post job requirements for a position to
be filled and are commonly known as job boards. Other employment sites offer employer
reviews, career and job-search advice, and describe different job descriptions or employers.
Through a job website a prospective employee can locate and fill out a job application or submit
resumes over the Internet for the advertised position.

This web application is to be conceived in its current form as a dynamic site-requiring


constant updates both from the seekers as well as the companies. On the whole the objective of
the project is to enable jobseekers to place their resumes and companies to publish their
vacancies. It enables jobseekers to post their resume, search for jobs, view personal job listings.
It will provide various companies to place their vacancy profile on the site and also have an
option to search candidate resumes. Apart from this there will be an admin module for the
customer to make changes to the database content. It consists of 4 modules:

1. Job Seeker.

2. Job Provider.

3. Administrator.

4. Job Search.

1
1.1.1. Job Seeker:

This module contains details about Job Seeker, i.e. employee or un-employee details. Like
employee name, email, experience. Here employee can do update, modify and delete. He can
update experience and skills details also.

1.1.2. Job Provider:

This module having information about job provider and requirement details, which client
recruiting the employees, and what based them recruiting the employees. Here client releasing
the primary skills, experience, no. of vacancies, opening date, closing and closing date.

1.1.3. Administrator:

The administrator module having all privileges about this entire project, he can update,
delete, and modify the details about job seeker, job provider, client and Job Search details.
Administrator maintain the client and job seeker database, where ever client is releasing their
requirements( vacancies) with particular primary skills and experience, on that time
administrator search for job seekers, who are having that primary skills and experience.
Administrator sends the message for selected candidates.

1.1.4. Job Search:

This module having all current vacant jobs, experience and which client offering that
vacant.

2
CHAPTER-2
2. PROBLEM DEFINITION AND SYSTEM ANALYSIS

2.1. Definition of the problem:

To create or develop a new system first we have to study the prior system, Analysis difficult
problems faced by the operator of that system. System Analysis therefore understands such
problems and proposes a new system in which the above problems are rectified.

2.2. Existing system:

Before creating this website, all jobseekers to send their resumes or information through
postal mails or they use person to person contacts with each other. It will take long time to send
their requirements through this type of communications.
Here there May error occurs in the process. The administration faces the problems to collect all
the information from clients and consultants to analyze the requirement in the corresponding
Clients. Administration has to send requirements information to different consultants and
jobseekers.

2.3. Proposed System:

Here all job seekers send their resumes Or information through our site.It does not consume
much of time.It is very easier to modify if any error occurs in the process.It is also very easier to
administrator to collect information from clients and consultants.

2.4. Users of the system:

The users of this system are administrator, clients, job provider and jobseekers. This system
is designed such a way that the users can easily interact with the system with minimum
knowledge to browser the net and company rules.

3
2.5. Module Description:

The proposed system is developed by using four modules:

1. Job Seeker.

2. Job Provider.

3. Administrator.

4. Job Search.

2.5.1. Job Seeker:

This module contains details about Job Seeker, i.e. employee or un-employee details.
Like employee name, email, experience.……. Here employee can do update, modify and delete.
He can update experience and skills details also.

2.5.2. Job Provider:

This module having information about job provider and requirement details, which client
recruiting the employees, and what based them recruiting the employees. Here client releasing
the primary skills, experience, no. of vacancies, opening date, closing and closing date.

2.5.3. Administrator:

The administrator module having all privileges about this entire project, he can update,
delete, and modify the details about job seeker, job provider, client and Job Search details.
Administrator maintain the client and job seeker database, where ever client is releasing their
requirements( vacancies) with particular primary skills and experience, on that time
administrator search for job seekers, who are having that primary skills and experience.
Administrator sends the message for selected candidates.

2.5.4. Job Search:

4
This module having all current vacant jobs, experience and which client offering that
vacant.

2.6.Module connectivity:

In the administrator module the administrator will be responsible for the registering the
consultants and clients at the site. This module is also responsible for search for skilled
applicants, shortlist the applicants and send the call letters to the applicants. In the jobseekers
module the new user can registration their information, or existing jobseeker can update their
information, search for job based on skills or experience.
The client module, different clients are fetching new job lists, and no. of vacates, opening
date and closing date.

5
CHAPTER-3
3.FEASIBILITY STUDY

3.1. Need of Feasibility Study:

It is necessary and prudent to evaluate the feasibility of a project at the earliest possible
time. There may be different ways of checking whether a system is feasible or not. The following
feasibility studies were performed to gauge the feasibility of the system.

3.1.1 Operational Feasibility:

In this test, the operational scope of the system is checked. The system under consideration
should have enough operational reach. It is observed that the proposed system is very user
friendly and since the system is built with enough help, even persons with little knowledge of
windows can find the system very easy.

3.1.2 Technical Feasibility:

This test includes a study of function, performance and constraints that may affect the
ability to achieve an acceptable system. This test begins with an assessment of the technical
viability of the proposed system. One of the main fusers to be accessed is the need of various
kinds of resources for the successful implementation for the proposed system.

3.1.3 Economical Feasibility:

An evaluation of development cost weighed against the ultimate income or benefit derived
from the development of the proposed system is made. Care must be taken that incurred in the
development of the proposed of the system should not exceed from the system. The income can be
in terms of money or goodwill, since the software brings in both, the system is highly viable.

6
CHAPTER-4

4. SYSTEM REQUIREMENT

4.1. Hardware and Software Specification:


The development of this project deals with the following environment
Hardware requirements
Software requirements

4.1.1. Hardware Requirements:


The selection of hardware is very important in the existence and proper working of any software.
In the selection of hardware, the size and the capacity requirements are also important.
The job portal can be efficiently run on Pentium system with atleast 1 GB RAM and Hard
disk drive having 200 GB with 14 inch Samsung color monitor suits the information system
operation.
 Pentium processor -------- Dual Core Above
 RAM Capacity -------- 1 GB
 Hard Disk -------- 200 GB
 DVD-ROM Drive -------- Any
 KEYBOARD -------- 108 Standard

4.1.2. Software Requirements:


One of the most difficult tasks is that, the selection of the software, once system requirement
is known is determining whether a particular software package fits the requirements. After initial
selection further security is needed to determine the desirability of particular software compared
with other candidates. This section first summarizes the application requirement question and
then suggests more detailed comparisons.

 Operating System -------- Windows XP/Vista/7/8


 Browser -------- Chrome, IE, Mozilla.
7
 Web/Application Server -------- Tomcat 5.0 and above
 Database Server -------- Oracle
 Database Connectivity -------- JDBC
 Other Tools & Technologies -------- NetBeans 5.0 above..

4.2. SOFTWARE TOOLS(Overview Of JAVA Technology)

4.2.1. HISTORY OF JAVA


Java language was developed by James Gosling and his team at sun micro systems and
released formally in 1995. Its former name is oak. Java Development Kit 1.0 was released in
1996. to popularize java and is freely available on Internet.
Java is loosely based on C++ syntax, and is meant to be Object-Oriented Structure of java
is midway between an interpreted and a compiled language . java programs are compiled by the
java compiler into byte codes which are secure and portable across different platforms . These
byte codes are essentially instructions encapsulated in single type, to what is known as java
virtual machine (JVM) which resides instandard browser.
JVM verifies these byte codes when downloaded by the browser for integrity. Java
Virtual Machines available for almost all Operating Systems. JVM converts these byte codes into
machine specific instructions at runtime.

4.2.2. FEATURES OF JAVA


1. Java is object-oriented language and supports encapsulation, inheritance ,polymorphism and
dynamic binding , but does not support multiple inheritance.every thing in java is an object
except some primitive datatypes .
2. Java is portable architecture neutral that is java programs once compiled can be executed on
any machine that is enabled.
3. Java is distributed in its approach and used for internet programming.
4. Java is robust, secured, high performing and dynamic in nature.
5. Java supports multithreading. There for different parts of the program can be executed at the
same time

4.2.3 JAVA AND INTERNET


Java is strongly associated with internet and known as internet programming language.
Internet users can use java to create applet programs and run them locally using java enabled

8
browser search as hot java. Applets can be downloaded from remote machine via internet and
run it on local machine .

4.2.4 JAVA AND WORLD WIDE WEB


World wide web is an open ended information retrieval system designed to be used in the
distributed environment. This system contains web pages that provide both information and
controls. We can navigate to a new web page in any direction. This is made possible worth
HTML java was meant to be used in distributed environment such as internet. So java could be
easily incorporated into the web system and is capable of supporting animation graphics , games
and other special effect. The web has become more dynamic and interactive with support of java.
We can run a java program on remote machine over internet with the support of web .

4.2.5 JAVA ENVIRONMENT


Java environment includes a large no.of tools which are part of the system known as java
development kit (JDK) and hundreds of classes, methods, and interfaces grouped into packages
forms part of java standard library(JSL).

4.2.6 JAVA ARCHITECTURE


Java architecture provides a portable , robust , high performing environment for
development. Java provides portability by compiling the byte codes for the java virtual machine
which are then interpreted on each platform by the runtime environment . Java also provides
stringent compile and runtime checking and automatic memory management in order to ensure
solid code .

4.2.7 JAVA VIRTUAL MACHINE


When we compile the code, java compiler creates machine code (byte code) for a
hypothetical machine called java virtual machine (JVM). The JVM will execute the byte code
and overcomes the issue of portability .The code is written and compile for one machine and
interpreted all other machines. This machine is called java virtual machine.

9
4.2.8 PARADIGM OF JAVA
 Dynamic down loading applets(small application programs);
 Elimination of flatware phenomenon that is providing those features of a product
that user needs at a time. The remaining features of a product can remain in the
server.
 Changing economic model of the software
 Up-to-date software availability
 Supports network entire computing

4.3. ABOUT HTML


HTML (hyper text markup language) is a language used to create hyper text documents that
have hyper links embedded in them . it consists of tags embedded in the text of a document with
HTML. We can build web pages or web document s. it is basically a formatting language and not
a programming language. The browser reading the document interprets mark up tags to help
format the document for subsequent display to a reader. HTML is a language for describing
structured documents. HTML is a platform independent. WWW(world wide web) pages are
written using HTML. HTML tags control in part the representation of the WWW page when
view with web browser. The browser interprets HTML tags in the web document and displays it.
Different browsers show data differently. Examples of browsers used to be web pages include:
 Netscape
 Internet Explorer
 Google Chrome
 Firefox
4.3.1.Basic HTML Tags :
<!-- --> Specifies comments
<A>……….</A> Creates hypertext links
<B>……….</B> Formats text as bold
<BIG>……….</BIG> Formats text in large font.
<BODY>…</BODY> Contains all tags and text in the HTML document

10
<CENTER>...</CENTER> Creates text
<DD>…</DD> Definition of a term
<DL>...</DL> Creates definition list
<FONT>…</FONT> Formats text with a particular font
<FORM>...</FORM> Encloses a fill-out form
<FRAME>...</FRAME> Defines a particular frame in a set of frames
<H#>…</H#> Creates headings of different levels
<HEAD>...</HEAD> Contains tags that specify information about a document
<HR>...</HR> Creates a horizontal rule
<HTML>…</HTML> Contains all other HTML tags
<META>...</META> Provides meta-information about a document
<SCRIPT>…</SCRIPT> Contains client-side or server-side script
<TABLE>…</TABLE> Creates a table
<TD>…</TD> Indicates table data in a table
<TR>…</TR> Designates a table row
<TH>…</TH> Creates a heading in a table

4.3.2.ADVANTAGES:

 A HTML document is small and hence easy to send over the net. It is small because it does
not include formatted information.
 HTML is platform independent.
 HTML tags are not case-sensitive.

4.4. JAVA SCRIPT


Java script is a general purpose prototype based , object oriented scripting language
developed jointly by sun and Netscape and is meant for the WWW . it is designed to be
embedded in diverse applications and systems , with out consuming much memory . java script
borrows most of its syntax from java but also inherits from AWK and PERL , with some indirect
influence from self in its object prototype system.
Java scripts dynamically typed that is programs do not declare variable types, and the
type of variable is unrestricted and can change at runtime. source can be generated at run time
and evaluated against an arbitrary scope.
Typical implementations compile by translating source into a specified byte code format,
to check syntax and source consistency.

11
Note that the availability to generate and interpret programs at runtime implies the
presence of a compiler at runtime.
Java script is a high level scripting language that does not depend on or expose particular
machine representations or operating system services. It provides automatic storage
management, typically using a garbage collector.

4.4.1. Features of JAVA Script:


 Java script is embedded into HTML documents and is executed with in them.
 Java script is browser dependent
 Java script is an interpreted language that can be interpreted by the browser at run
time .
 Java script is loosely typed language
 Java script is an object based language.
 Java script is an Event-Driven language and supports event handlers to specify the
functionality of a button.

4.4.2. Advantages of JAVA Script:


1. Java script can be used for client side application
2. Java script provides means to contain multi frame windows for
presentation of the web.
3. Java script provides basic data validation before it is sent to the server. EG
: login and password checking or whether the values entered are correct or
whether all fields in a from are filled and reduced network traffic
4. It creates interactive forms and client side lookup tables .

12
4.5. Introduction to SERVLETS:

The servlet is a Java programming language class used to extend the capabilities of a
server. Although servlets can respond to any types of requests, they are commonly used to
extend the applications hosted by web servers, so they can be thought of as Java applets that run
on servers instead of in web browsers.

4.5.1. What is a SERVLET?

Servlets are modules that extend request/response-oriented servers, such as Java-enabled


web servers. For example, a SERVLET might be responsible for taking data in an HTML order-
entry form and applying the business logic used to update a company's order database

Fig- 4.1. Architechture of SERVLET

Servlets are to servers what applets are to browsers. Unlike applets, however, servlets
have no graphical user interface.

Servlets can be embedded in many different servers because the servlet API, which you
use to write servlets, assumes nothing about the server's environment or protocol. Servlets have
become most widely used within HTTP servers; many web servers support the Servlet API.

Servlets are most often used to Process or store data that was submitted from an HTML
form, provide dynamic content such as the results of a database query manage state information
that does not exist in the stateless HTTP protocol, such as filling the articles into the shopping

13
cart of the appropriate customer. Technically speaking, a "servlet" is a Java class in Java EE that
conforms to the Java Servlet API, a standard for implementing Java classes which respond to
requests. Servlets could in principle communicate over any client–server protocol, but they are
most often used with the HTTP protocol. Thus "servlet" is often used as shorthand for "HTTP
servlet".Thus, a software developer may use a servlet to add dynamic content to a web server
using the Java platform. The generated content is commonly HTML, but may be other data such
as XML. Servlets can maintain state in session variables across many server transactions by
using HTTP cookies, or URL rewriting.

To deploy and run a servlet, a web container must be used. A web container (also known
as a servlet container) is essentially the component of a web server that interacts with the
servlets. The web container is responsible for managing the lifecycle of servlets, mapping a URL
to a particular servlet and ensuring that the URL requester has the correct access rights.

The Servlet API, contained in the Java package hierarchy javax.servlet, defines the
expected interactions of the web container and a servlet.

A Servlet is an object that receives a request and generates a response based on that
request. The basic Servlet package defines Java objects to represent servlet requests and
responses, as well as objects to reflect the servlet's configuration parameters and execution
environment. The package javax.servlet.http defines HTTP-specific subclasses of the generic
servlet elements, including session management objects that track multiple requests and
responses between the web server and a client. Servlets may be packaged in a WAR file as a web
application.

4.5.2. Life cycle of a servlet:

Servlets can be generated automatically from Java Server Pages (JSP) by the JavaServer
Pages compiler. The difference between servlets and JSP is that servlets typically embed HTML
inside Java code, while JSPs embed Java code in HTML. While the direct usage of servlets to
generate HTML (as shown in the example below) has become rare, the higher level MVC web
framework in Java EE (JSF) still explicitly uses the servlet technology for the low level
request/response handling via the FacesServlet. A somewhat older usage is to use servlets in
conjunction with JSPs in a pattern called "Model 2", which is a flavor of the model–view–
controller pattern.

14
The advantages of using servlets are their fast performance and ease of use combined
with more power over traditional CGI (Common Gateway Interface). Traditional CGI scripts
written in Java have a number of disadvantages when it comes to performance:

When an HTTP request is made, a new process is created for each call of the CGI script.
This overhead of process creation can be very system-intensive, especially when the script does
relatively fast operations. Thus, process creation will take more time for CGI script execution. In
contrast, for servlets, each request is handled by a separate Java thread within the web server
process, omitting separate process forking by the HTTP daemon.

Simultaneous CGI request causes the CGI script to be copied and loaded into memory as
many times as there are requests. With servlets, there is only one copy that persists across
requests and is shared between threads.

Only a single instance answers all requests concurrently. This reduces memory usage and
makes the management of persistent data easy.

A servlet can be run by a servlet container in a restrictive environment, called a sandbox.


This is similar to an applet that runs in the sandbox of the web browser. This makes a restrictive
use of potentially harmful servlets possible.[3] CGI programs can of course also sandbox
themselves, since they are simply OS processes.

15
Fig-4.2. Life Cycle of Servlet

4.5.3. Uses for Servlets

Here are a few more of the many applications for servlets:

 Allowing collaboration between people. A servlet can handle multiple requests


concurrently, and can synchronize requests. This allows servlets to support systems such
as on-line conferencing.

 Forwarding requests. Servlets can forward requests to other servers and servlets. Thus
servlets can be used to balance load among several servers that mirror the same content,
and to partition a single logical service over several servers, according to task type .

4.5.4. Architecture of the Servlet Package

16
The javax.servlet package provides interfaces and classes for writing servlets.
The architecture of the package is described below.

The central abstraction in the Servlet API is the Servlet interface. All servlets implement
this interface, either directly or, more commonly, by extending a class that implements it such as
HTTPSERVLET.

Fig-4.3. Types of Servlet

The Servlet interface declares, but does not implement, methods that manage the servlet and its
communications with clients. Servlet writers provide some or all of these methods when
developing a servlet.

4.5.5.Create Instance of Servlet

When the servlet class is loaded, the servlet container creates an instance of the servlet.

Typically, only a single isntance of the servlet is created, and concurrent requests to the
servlet are executed on the same servlet instance. This is really up to the servlet container to
decide, though. But typically, there is just one instance.

 Call the Servlets init() Method

When a servlet instance is created, its init() method is invoked. The init() method allows a
servlet to initialize itself before the first request is processed.

17
You can specify init parameters to the servlet in the web.xml file. See web.xml Servlet
Configuration for more details.

 Call the Servlets service() Method

For every request received to the servlet, the servlets service() method is called. For
HttpServlet subclasses, one of the doGet(), doPost() etc. methods are typically called.

As long as the servlet is active in the servlet container, the service() method can be called.
Thus, this step in the life cycle can be executed multiple times.

 Call the Servlets destroy() Method

When a servlet is unloaded by the servlet container, its destroy() method is called. This step
is only executed once, since a servlet is only unloaded once.

A servlet is unloaded by the container if the container shuts down, or if the container
reloads the whole web application at runtime.

Three methods are central to the life cycle of a servlet. These are init(), service(), and
destroy(). They are implemented by every servlet and are invoked at specific times by the server.

During initialization stage of the servlet life cycle, the web container initializes the servlet
instance by calling the init() method, passing an object implementing the
javax.servlet.ServletConfig interface. This configuration object allows the servlet to access
name-value initialization parameters from the web application.

After initialization, the servlet instance can service client requests. Each request is
serviced in its own separate thread. The web container calls the service() method of the servlet
for every request. The service() method determines the kind of request being made and
dispatches it to an appropriate method to handle the request. The developer of the servlet must
provide an implementation for these methods. If a request is made for a method that is not
implemented by the servlet, the method of the parent class is called, typically resulting in an
error being returned to the requester.

Finally, the web container calls the destroy() method that takes the servlet out of service.
The destroy() method, like init(), is called only once in the lifecycle of a servlet.

4.5.6. The SERVLETREQUEST Interface:

18
The SERVLETREQUEST interface allows the servlet access to:

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

 The input stream, SERVLETINPUTSTREAM. SERVLETS use the input stream to get
data from clients that use application protocols such as the HTTP POST and PUT
methods.

4.5.7. Additional Capabilities of HTTP Servlets

The classes and interfaces described above make up a basic Servlet. HTTP servlets have
some additional objects that provide session-tracking capabilities. The servlet writer can use
these APIs to maintain state between the servlet and the client that persists across multiple
connections during some time period. HTTP servlets also have objects that provide cookies. The
servlet writer uses the cookie API to save data with the client and to retrieve this data. The
classes mentioned in the Architecture of the Servlet Package section are shown in the example in
bold:

19
Fig-4.4. Servlet Client Server Interaction

4.5.8. Initializing a SERVLET


When a server loads a servlet, the server runs the servlet's init method. Initialization
completes before client requests are handled and before the servlet is destroyed.

Even though most servlets are run in multi-threaded servers, servlets have no
concurrency issues during servlet initialization. The server calls the init method once, when the
server loads the servlet, and will not call the init method again unless the server is reloading the
servlet.

The server can not reload a servlet until after the server has destroyed the SERVLET
by calling the destroy method.

4.5.9. Destroying a SERVLET


Servlets run until the server are destroys them, for example at the request of a system
administrator. When a server destroys a servlet, the server runs the servlet's destroy method. The
method is run once; the server will not run that servlet again until after the server reloads and
reinitializes the servlet.

20
When the destroy method runs, another thread might be running a service request. The
Handling Service Threads at Servlet Termination section shows you how to provide a clean
shutdown when there could be long-running threads still running servicerequests.

4.5.10.Using the Destroy Method

The destroy method provided by the httpservlet class destroys the servlet and logs the
destruction. To destroy any resources specific to your servlet, override the destroy method. The
destroy method should undo any initialization work and synchronize persistent state with the
current in-memory state.

The following example shows the destroy method that accompanies the init method
shown previously:

Public class BOOKDBSERVLET extends GENERICSERVLET {

Private BOOKSTORE DB books;


... // the init method
Public void destroy() {
// Allow the database to be garbage collected
books = null;
}
}

A server calls the destroy method after all service calls have been completed, or a server-
specific number of seconds have passed, whichever comes first. If your servlet handles any long-
running operations, service methods might still be running when the server calls the destroy
method. You are responsible for making sure those threads complete. The next section shows
you how.

4.5.11.The Servlet Execution Control Flow:-

1.Open browser and type the URL ofServlet(http://localhost:65535/first/hs), then the request is
passed tothe client system socket.

2.Then the client system socket further forward the request to theServer System ServerSocket by
using IP-address used in the URL.

3.Then the Server System transports the request to the Web-Serverwith the help of port no. used in
the URL.

4.Then the Web-Server handover the request to the paticular webcontainerfor which the request is
meant for.
21
5.Then the web-container identify the web-application using webapplicationname mentioned in the
URL, then further it read that webapplication'sweb.xml file and prepared the below objects.

i >ServletContext:-By reading the context parameters.

ii >ServletConfig:- By reading init parameters.

iii>ServletRequest:- By reading reuest parameters given by client.

iv >ServletResponse:- Dummy object created which should be filledby developer.

v >Servlet:- Servlet Object is created by using default constructor bymapping the url-pattern
mentioned in the URL.

6.Then web-container(Servlet-container) create a new thread andpasses the Servlet object and then
invokes life -cycle methods as:

a) init() : By passing ServletConfig object.This method is executedonly once when client first time
gives request to the Servlet.

b) Service() : By passing ServletRequest and ServletResponse object.

c) destroy() : This method is invoked when the Server is Shut-down/undeployment of the Servlet.

7. Once after the request is processed by Servlet's service() method ,then the response is generated
and handover to the Servlet-container.

8. Then web-container(Servlet-container) passes the response to theWeb-Server.

9. The Web-Server passes the response to Server system virtualsocket.

10. Then virtual-socket passes the same response to the clientsystem(Socket).

4.6. Handling HTTP Clients:

An HTTP Servlet handles client requests through its service method. The service method
supports standard HTTP client requests by dispatching each request to a method designed to
handle that request. For example, the service method calls the do Get method shown earlier in
the simple example servlet.

4.6.1. Requests and Responses:

Methods in the HTTPSERVLET class that handle client requests take two arguments:
22
1. An HTTPSERVLETREQUEST object, which encapsulates the data from the client.

2. An HTTPSERVLETRESPONSE object, which encapsulates the response to the client.

4.6.2. HTTPSERVLETREQUEST Objects:


An HTTPSERVLETREQUEST object provides access to HTTP header data, such as any
cookies found in the request and the HTTP method with which the request was made. The
HTTPSERVLETREQUEST object also allows you to obtain the arguments that the client sent as
part of the request.

4.6.3. To access client data:

 The GETPARAMETER method returns the value of a named parameter. If your


parameter could have more than one value, use GETPARAMETERVALUES instead.
The GETPARAMETERVALUES method returns an array of values for the named
parameter. (The method GETPARAMETERNAMES provides the names of the
parameters.)

 For HTTP GET requests, the GETQUERYSTRING method returns a String of raw data
from the client. You must parse this data yourself to obtain the parameters and values.

 For HTTP POST, PUT, and DELETE requests,

o If you expect text data, the GETREADER method returns a


BUFFEREDREADER for you to use to read the raw data.

o If you expect binary data, the GETINPUTSTREAM method returns a


SERVLETINPUTSTREAM for you to use to read the raw data

4.6.4. HTTPSERVLETRESPONSE Objects:


An HTTPSERVLETRESPONSE object provides two ways of returning data to the user:

 The GETWRITER method returns a Writer

 The GETOUTPUTSTREAM method returns a SERVLETOUTPUTSTREAM

23
Use the GETWRITER method to return text data to the user, and the GETOUTPUTSTREAM
method for binary data. Closing the Writer or SERVLETOUTPUTSTREAM after you send the
response allows the server to know when the response is complete.

4.6.5 Handling GET and POST Requests:

The methods to which the service method delegates HTTP requests include,

 DOGET, for handling GET, conditional GET, and HEAD requests

 DOPOST, for handling POST requests

 DOPUT, for handling PUT requests

 DODELETE, for handling DELETE requests

By default, these methods return a BAD_REQUEST (400) error. Your servlet should
override the method or methods designed to handle the HTTP interactions that it supports. This
section shows you how to implement methods that handle the most common HTTP requests:
GET and POST.

The HTTPSERVLET'S service method also calls the DOOPTIONS method when the
servlet receives an OPTIONS request, and DOTRACE when the servlet receives a TRACE
request. The default implementation of do Options automatically determines what HTTP options
are supported and returns that information. The default implementation of DOTRACE causes a
response with a message containing all of the headers sent in the trace request. These methods
are not typically overridden.

4.6.6. About Session Tracking:


Session Tracking is a flexible, lightweight mechanism that enables STATEFUL
programming on the web. Its general implementation serves as a basis for more sophisticated
state models, such as persistent user profiles or multi-user sessions.

A session is a series of requests from the same user that occur during a time period. This
transaction model for sessions has many benefits over the single-hit model. It can maintain state
and user identity across multiple page requests. It can also construct a complex overview of user
behavior that goes beyond reporting of user hits.

4.7. JSP Life Cycle:


24
A JSP life cycle can be defined as the entire process from its creation till the destruction which is
similar to a servlet life cycle with an additional step which is required to compile a JSP into
servlet.

JSP’s life cycle can be grouped into following phases.

4.7.1. JSP Page Translation:


A java servlet file is generated from the JSP source file. This is the first step in its tedious
multiple phase life cycle. In the translation phase, the container validates the syntactic
correctness of the JSP pages and tag files. The container interprets the standard directives and
actions, and the custom actions referencing tag libraries used in the page.

4.7.2. JSP Page Compilation:


The generated java servlet file is compiled into a java servlet class.
Note: The translation of a JSP source page into its implementation class can happen at any time
between initial deployment of the JSP page into the JSP container and the receipt and processing
of a client request for the target JSP page.

4.7.3. Class Loading:


The java servlet class that was compiled from the JSP source is loaded into the container.

4.7.4. Execution phase:


In the execution phase the container manages one or more instances of this class in response to
requests and other events.
The interface JspPage contains jspInit() and jspDestroy(). The JSP specification has provided a
special interface HttpJspPage for JSP pages serving HTTP requests and this interface contains
_jspService().

4.7.5. _jspService() execution:


This method is called for every request of this JSP during its life cycle. This is where it serves
the purpose of creation. Oops! it has to pass through all the above steps to reach this phase. It
passes the request and the response objects. _jspService() cannot be overridden.

4.7.6. jspDestroy() execution:

25
This method is called when this JSP is destroyed. With this call the servlet serves its purpose and
submits itself to heaven (garbage collection). This is the end of jsp life cycle.

Fig-4.5. Life cycle of jsp

4.8. INTRODUCTION ORACLE:


Oracle is a relational database management system, which organizes data in the form of
tables. Oracle is one of many database servers based on RDBMS model, which manages a seer
of data that attends three specific things-data structures, data integrity and data manipulation.
With oracle cooperative server technology we can realize the benefits of open, relational systems
for all the applications. Oracle makes efficient use of all systems resources, on all hardware
architecture; to deliver unmatched performance, price performance and scalability. Any DBMS
to be called as RDBMS has to satisfy Dr.E.F.Codd’s rules.

26
The Oracle Database (commonly referred to as Oracle RDBMS or simply as Oracle) is an
object-relational database management system produced and marketed by Oracle Corporation.
Larry Ellison and his friends, former co-workers Bob Miner and Ed Oates, started the
consultancy Software Development Laboratories (SDL) in 1977. SDL developed the original
version of the Oracle software. The name Oracle comes from the code-name of a CIA-funded
project Ellison had worked on while previously employed by Ampex.

4.8.1. DISTINCT FEATURES OF ORACLE:

 ORACLE IS PORTABLE:

The Oracle RDBMS is available on wide range of platforms ranging from PCs to super
computers and as a multi user loadable module for Novel NetWare, if you develop
application on system you can run the same application on other systems without any
modifications.

 ORACLE IS COMPATIBLE:

Oracle commands can be used for communicating with IBM DB2 mainframe RDBMS that is
different from Oracle, that is Oracle compatible with DB2. Oracle RDBMS is a high
performance fault tolerant DBMS, which is specially designed for online transaction
processing and for handling large database applications.

4.9. Codd's 12 rules

Rule 0: The Foundation rule:

A relational database management system must manage its stored data using
relational capabilities. The system must qualify as relational, as a database, and as a
management system. For a system to qualify as a relational database management system
(RDBMS), that system must use its relational facilities (exclusively) to manage the database.

Rule 1: The information rule:

27
All information in a relational database (including table and column names) is represented in
only one way, namely as a value in a table.

Rule 2: The guaranteed access rule:

All data must be accessible. This rule is essentially a restatement of the fundamental
requirement for primary keys. It says that every individual scalar value in the database must
be logically addressable by specifying the name of the containing table, the name of the
containing column and the primary key value of the containing row.

Rule 3: Systematic treatment of null values:(Oracle does not support this rule):

The DBMS must allow each field to remain null (or empty). Specifically, it must support a
representation of "missing information and inapplicable information" that is systematic,
distinct from all regular values (for example, "distinct from zero or any other number", in the
case of numeric values), and independent of data type. It is also implied that such
representations must be manipulated by the DBMS in a systematic way.

Rule 4: Active online catalog based on the relational model:

The system must support an online, inline, relational catalog that is accessible to authorized
users by means of their regular query language. That is, users must be able to access the
database's structure (catalog) using the same query language that they use to access the
database's data.

Rule 5: The comprehensive data sublanguage rule:

The system must support at least one relational language that has a linear syntaxCan be used
both interactively and within application programs,Supports data definition operations
(including view definitions), data manipulation operations (update as well as retrieval),
security and integrity constraints, and transaction management operations (begin, commit,
and rollback).

Rule 6: The view updating rule:

All views that are theoretically updatable must be updatable by the system.

Rule 7: High-level insert, update, and delete:

The system must support set-at-a-time insert, update, and delete operators. This means that
data can be retrieved from a relational database in sets constructed of data from multiple
rows and/or multiple tables. This rule states that insert, update, and delete operations should
be supported for any retrievable set rather than just for a single row in a single table.
28
Rule 8: Physical data independence:

Changes to the physical level (how the data is stored, whether in arrays or linked lists etc.)
must not require a change to an application based on the structure.

Rule 9: Logical data independence:

Changes to the logical level (tables, columns, rows, and so on) must not require a change to
an application based on the structure. Logical data independence is more difficult to achieve
than physical data independence.

Rule 10: Integrity independence:

Integrity constraints must be specified separately from application programs and stored in the
catalog. It must be possible to change such constraints as and when appropriate without
unnecessarily affecting existing applications.

Rule 11: Distribution independence:

The distribution of portions of the database to various locations should be invisible to users
of the database. Existing applications should continue to operate successfully:

when a distributed version of the DBMS is first introduced; and

when existing distributed data are redistributed around the system.

Rule 12: The nonsubversion rule:

If the system provides a low-level (record-at-a-time) interface, then that interface cannot be
used to subvert the system, for example, bypassing a relational security or integrity
constraint.

CHAPTER-5
5.SYSTEM DESIGN

5.1 Design Description :


Design is essentially a blue print or it acts as a bridge between the requirement specification and
the final solution for satisfying the requirements.
Based on the work-flow described above we can draw the following conclusions for the
Software System that has to be developed:
29
 The System needs to be a web-based system so that it allows the administrator,
clients & jobseekers to access the company database over the Internet.
 Being a web-based system also enables the Company staff to send e-mails immediately to
Seekers, whenever a requirement arises.
 An added advantage is since the e-mail is delivered instantly, there could be instant
responses from the Jobseekers.
 The whole process depends on communications between jobseekers & the
Administrators, different clients & the job provider. If all these communications are
done through a web-based system, then the time period for the whole process can
be considerably brought down.
 The System needs to store the details of all the jobseekers.
 The System needs to store the details of all the information(personal ,education,
skills , experience, projects etc) held by all the Jobseekers.
 The System needs to store the details of all the requirements held in the different clients.
 The System needs to store the details of all the jobs held in the Consultants.
 The System needs to store the details of all the Consultants.
 Since it is a web-based system, a Login authorization should be provided so that
Consultants, jobseekers, and clients will be able to lookup & use options that are
specific to them.
 The System should allow the Clients to enter their Requirements.
 The System should allow the Consultant to provide for jobs for jobseekers.
 The System should provide an option to generate a client Report.
 The System should provide an option to generate a consultants Report.
 The System should provide an option to short list applicants Report.
 The System should provide an option to generate selected applicants Report.

5.2 DataBase design:

5.2.1 Table Name:JOBPROVIT OK

Description: This table is used for entered new jobseeker information.

30
SL.NO FIELD NAME DATA TYPE
DESCRIPTION

1 JSIDN Number This is unique identifier given to a


Job seeker’s to identify him uniquely. This is the
Primary Key of the table.
2 ENAME Varchar2(30) This is the name of the jobprovider
3 CNAME Varchar2(80) This is the company of the jobprovider

4 STATE Number This is state residing job provider

5 CITY Varchar2(20) This is city of job provider

6 MOBI Varchar2(100) This is the mobile of the jobprovider

7 WEBSITE Varchar2(100) This is the websitebof the jobprovider


company
8 EMAIL Varchar2(30) This is the emailof the jobprovider

5.2.2. Table Name: ADMIN OK:


Description: This table is used for entered administrator details

SL.NO FIELD NAME DATA TYPE DESCRIPTION


1 ADMINID Number This is unique identifier given to a
Administrator to identify him uniquely.
This is the Primary Key of the table.
2 USERID Varchar2(30) This the user name for administrator
3 PASS Varchar2(20) This the password for administrator.
4 BLACKLIST Varchar2(50) Blacklist companies list

5.2.3. Table Name: JOBPOST OK:


Description: This table provides information about the details of the job.

31
SL.NO FIELD NAME DATA TYPE DESCRIPTION
This is unique identifier given to a User to
1 JPPID Number identify him uniquely. This is the Primary Key
of the table
2 JOBID Varchar2(30) This is the code of job.
3 JOBTYPE Varchar2(30) This is the type of job.
4 JOBREQ Varchar2(50) This is the requirements of job.
5 JOBQUALI Varchar2(50) This is the qualification of job.
6 JOBQUALI2 Varchar2(50) This is the skill set required for the job.
7 JCITY Varchar2(20) This is the city where job is available.
8 JDEMAND Varchar2(50) Demand Skills for job
9 JVALID Varchar2(20) Validity of job.
10 JEMAIL Varchar2(50) Email for job requirement
11 JDESC Varchar2(400) Description of Job
12 EXPER Varchar2(20) Experience needed for job
13 CNAME1 Varchar2(50) This is the company name who posted job

5.2.4.Table Name:JOBPROVLOG OK:


Description: This table is used for the maintenance details of employee userid and password

SL.NO FIELD NAME DATA TYPE DESCRIPTION


1 JPIDN Varchar2(20) This is userid

2 JOBPRN Varchar2(20) This is the username.

3 PASS Varchar2(20) This is the password


4 CNAME12 Varchar2(50) Company name

5.2.5. Table Name:APPLYJOB OK:


Description: This table is used for the maintenance details of jobseeker applied in any company.
32
SL.NO FIELD NAME DATA TYPE DESCRIPTION
1 APPID Varchar2(20) This is applyjob id

2 JOBID Varchar2(20) This is the job ID

3 USERAPPLIED Varchar2(20) This is the job seeker name stored here.


4 JOBPOSTEDBY Varchar2(50) Jobprovidername stored here

5.2.6. Table Name: JOBREGIS OK:


Description: This table is used to maintain the details of the jobseeker.

SL.NO FIELD NAME DATA TYPE DESCRIPTION


1 JSIDN Number(10) This is unique identifier given to a User to
identify him uniquely. This is the Primary
Key of the table.
2 FNAME Varchar2(20) This is the EMAILID of the jobseeker.
3 LNAME Varchar2(20) This is the last name of the jobseeker.
4 CITY Number(10) This is the city of the jobseeker.
5 STATE Number(10) This is the state of jobseeker city.
6 ZIP Varchar2(70) zip address of the jobseeker.
7 MOBILE Varchar2(20) This is mobile number of jobseeker.
8 DOB Varchar2(2) This is the dob of the jobseeker.
9 QUALIFI Varchar2(200) This is about the personal skills of the
Jobseeker.
10 EXPERIENCE Varchar2(200) This is about the experience of the
jobseeker.
11 EMAIL Varchar2(40) This is the email of the jobseeker.
12 SKILL Varchar2(30) This is skill of Job Seeker

5.2.7. Table Name:JOBSEEKLOG OK:


Description: This is about the jobseeker user and password details.

33
SL.NO FIELD NAME DATA TYPE DESCRIPTION
1 JSID Varchar2(20) This is about the jobseeker ID.
2 USERN Varchar2(30) User name of the Jobseeker.
3 PASSW Varchar2(30) This is the password of the jobseeker.

5.3. Use case diagrams:

5.3.1. JOB SEEKER:

<<extends>>
apply resume

<<extends>>

validation
job seeker
<<extends>> update details

search vacancies

Fig:- 5.1. JOB SEEKER

5.3.2. ADMINISTRATOR:

34
<<extends>>

validation send call letters


administrator

job seeker

Fig:- 5.2. ADMINISTRATOR

5.3.3 JOB SEEKER:

<<extends>>

validation recruitment details


client

job provider

Fig:-5.3. JOB SEEKER

35
5.3.4 JOB PROVIDER:

<<extends>>

job provider validation submit details

administrator

Fig:- 5.4. JOB PROVIDER

5.4 Sequence Diagrams:

36
5.4.1 JOB SEEKER:

validation vaccancy list apply resume update details checking mail


: job seeker

enter login details

verify

login denied

search for vacancies

applying resume

modify the details

checking mail

Fig:- 5.5. JOB SEEKER

5.4.2 JOB PROVIDER:

37
validation recruitment submitting
: job provider
details details

enter login details

verify

login denied

placement details

submit recruitment details

Fig:-5.6. JOB PROVIDER

5.4.3 CLIENT:

validation recruitment
: client details

Enter login details

verify

login denied

placement info

Fig:-5.7. CLIENT

38
5.4.4 ADMINISTRATOR:

validation select confirmation update info


: administrator
applicants mail

enter login info

verify

login denied

select short listed applicants

send call letters

modify all details

Fig:- 5.8. ADMINISTRATOR

5.5. ER- DIAGRAM:


39
An ER diagram is a pictorial representation of the information that canbe captured by a database.
Such a \picture" serves two purposes:
It allows database professionals to describe an overall designconcisely yet accurately.
(Most of) it can be easily transformed into the relational schema.

 Rectangles represent entity sets


 Diamonds represent relationship sets
 Lines link attributes to entity sets and entity sets to relationship sets
 Ellipses represent attributes–Double ellipses represent multivaluedattributes–Dashed
ellipses denote derived attributes
 Underline indicates primary key attributes

5.5.1.ER-Diagram:

S_emai id
l passwd
id Job_seeker
S_qual
Admin
passwd t
S_cell
no S_d.o.
sec b Site_log
S_hob in
by
skills

Manag
es

Job_de
Emp g
Job_nam
Vacancy e
Comp_name

Job_lo
c
P_nam paswd
e
Com_na
Job_provider
Manag me
es
P_id
Emp.
P_name
Job_lo
5.9.ER-Diagram of Job Portal c.

5.6 DATA FLOW DIAGRAMS:


40
NOTATIONS :
The logic dataflow diagrams can be drawn using only four simple notations i.e., special
Symbols or icons and the annotation that associates them with a specific system. Since
the choice of notation we follow, does not affect impede or catalyze the system process;
we used three symbols from YOURON notation and one from Gain and Sarson notation
as specified below.
Element References symbols

Data Flow Process

Process

Data Store

Source or Sink

Description:
Process : Describes how input data is converted to output Data
Data Store : Describes the repositories of data in a system
Data Flow : Describes the data flowing between process, Data stores and
external entities.
Sources : An external entity causing the origin of data.
Sink : An external entity, which consumes the data.

41
5.6.1 Context level:
0 level:

Administrator Administrator

Job Seeker
Job Seeker

JOB
Job Provider PORTAL
0 Job Provider

Job Search
Client

Fig:- 5.10. level-0 DFD of Job Protal

42
Level 1 Diagrams:

ADMINISTRATOR:

Guest
0.1

Job
Job provider
Administrator
portal
0.1
Jobseeker

Job search

Short listed
students

Fig:- 5.11.level- 1 DFD of Administrator

43
JOB SEEKER:

Update
Job 0.2
Job seeker portal
0.1
delete

Add new job


seeker details

Fig:- 5.12. level- 1 DFD of job seeker

JOB PROVIDER:

update
Job
Job Provider portal
0.1
delete

Add
new
Add new /update Jobs
Jobprovider
details

Fig:- 5.13. level- 1 DFD of job provider

44
CHAPTER-6
6. TESTING AND IMPLEMENTATION
6.1.Need of Testing:
Testing plays a critical role for quality assurance and for ensuring the reliability of the
software. Its basic function is to detect the errors. After the coding phase, testing is done to test
the proper working of the new system. Testing is the process of executing a program with the
intention of finding errors. It is a complete verification to determine whether the objectives are
met and the user requirements are satisfied. The testing phase involves testing of a system using
various test data. Preparation of the test data plays a vital role in the system testing. After
preparing the test data, the system under study is testing using those test data. Errors were found
and corrected by using the following testing steps and corrections are recorded for future
references. Thus, a series of testing is performed on the system before it is ready for coding.
Since code is the only product that can be executed frequently whose actual behavior can be
observed, this phase is so important for the successful implementation of the software product.
Thus, the goal of testing is to uncover the requirements, design and coding errors in the program.

6.1.1 Unit Testing


The first step in the testing is the unit testing. Unit test is normally considered as an
adjunct to the coding step. After the coding has been developed, received and verified for
correct syntax, unit testing begins. The standalone modules were tested individually for their
correct functionality, with the corresponding data. This ensures the reliability of the modules
when integrated. Each and every module is tested independently with sample data and it was
found that all modules are properly functioning. Using the unit test plans, prepared in the
design phase of the system as a guide, important control paths are tested to uncover errors
within the boundary of the modules. Boundary conditions were checked, all independent
paths were exercised to ensure that all statements in the module are checked at least once and
all error handling paths were tested. Each unit was thoroughly tested to check if it might fall
in any possible situation. This testing was carried out during the programming itself. At the
end of this testing phase, each unit was found to be working satisfactory, as regard to the
expected output from the module.

45
6.1.2 Integration Testing
The second step in the testing process is the Integration testing. Integration testing is the
systematic technique for constructing the program structure while conducting tests to uncover
errors associated with interfacing. All the modules when unit testing will work properly but after
interfacing the data can be lost across an interface, one module can have an inadvertent, adverse
effect on other, sub functions when combined may not produce the desired major function,
global data structures can cause problems, etc.
Integration testing was performed by integrating all the individual modules and the activities
of the user such as loading layers, retrieving information from any functions applying themes
based on the records present in the database etc. and is found that it works good to the
examination of the end users. Hence, the objective of integration testing is to take unit tested
modules and build a final program structure.
All the modules developed are independent. Even the whole process of approval for all. Each
module is integrated well with other modules. And all the interfaces are tested successfully.

6.1.3 Functional Testing


This test involves testing the system under typical operating conditions with sample input
values. Functional testing was performed on the system by giving existing industry id or plot
number and a null or string as the input for any field in which case the user should be redirected
to the same state with the appropriate message, rather than proceeding and crashing in the
system.Functional testing was performed on the system by raising the demand with an eye to
check all the validations. The total processing of the system is satisfactory with the following
results.
 All the validations are clearly notified to the user regarding jobseekers reg, new client
reg, job order, job providers, and job search preparation etc.
 Almost all the functional errors, data storage errors and all types of logical errors are
tested successfully.
6.1.4 Acceptance Testing
User acceptance test of a system is the factor for the success of the system. The user at the
user’s site carried this test. Live data entered and the system’s output was compared with what
was manually prepared. Here the system has met the user’s requirement in the following fields:
1. Data Entry
2. Error Handling

46
3. Reporting and corrections
4. Data Access Protections
5. System Output
6.2 Implementation:

Implementation includes all those activities that take place to convert the old system to the
new system .The new system will replace he existing system. The aspects of implementation are
as follows.
Conversion, Post Implementation Review.
6.2.1.Conversion:
Conversion means changing from one system to another. The objective is to put the tested
system into operation. It involves proper installation of the software package developed and
training the operating staff.
The software has been installed and found to be functioning properly. The users how to be
trained to handle the system effectively. Sample data provide to the operating stuff and were
asked to operate on the system. The operating stuffs now have a clear out look of the software
and are ready for practical implementation of the package.
6.2.2. Post Implementation Review
A post implantation review is an evaluation of system in terms of the extent to which the
system accomplishes the started objectives. This starts after the system is implemented and
conversation is complete.

47
SCREEN SHOTS

1.Home Page:

2.Job seeker new registration:

48
3.Job seeker registration page success:

4.Job seeker Login:

49
5.Job seeker module homepage:

6.Upload File:

50
7.Uploaded Filename:

8.Download Required Resume:

51
9.Select Resume to Download:

10.Download Option:

52
11.Changing password jobseeker:

12.Search job –jobseeker:

53
13.Jobseeker job apply :

14.Jobseeker personal page for delete and edit:

54
15.Job seeker personal edit page:

16.Job Provider New registration:

55
17.Registration provider page success:

18.Employer Login:

56
19.Employer module home page:

20.Posting the jobs:

57
21.View or deleting the job profile:

22.Updating job profile:

58
23.Deleting the job profile:

24.Personal job provider page:

59
25.Administrator Login:

26.Administrator module homepage:

60
27.View jobs:

28.Jobposted by all admin:

61
29.Jobseeker details Admin:

30.Jobprovider Details:

62
CONCLUSION AND ENHANCEMENTS

This system has been developed successfully incorporate all the requirements. Appropriate
care has taken during database design maintain database integrity and to avoid redundancy of
data. This site was developed in such a way that any further modifications needed can be easily
done. User feels freely while using this site. In this all technical complexities are hidden. This
site is a more user friendly.
The quality like correctness, efficiency, usability, maintainability, portability, accuracy,
errors, tolerance, expandability and communicatively all are successfully done.

Foreseeable enhancements

There is always a room for improvement in any software package, however good and
efficient it may be. The important thing is that the website should be flexible enough for further
modifications. Considering this important factor, the web site is designed in such a way that the
provisions are given for further enhancements. At present this website provides all the
information using static pages and reservation forms.
In future we can enhance our project by providing options like. Include many sites
information.

63
REFERENCES
[1]. Ken Arnold and James Gosling, The Java Programming Language, second ed., Addison-
Wesley, 1998.

[2] . Java Servlet Programming, Jason Hunter, William Crawford. 1998. ISBN 1-56592-391-1,
510 pp, $36.95. Describes in detail how to use Java Servlets with HTML to make dynamic web
sites

[3]. J. Hou and Y. Zhang, “Effectively Finding Relevant Web Pages from Linkage
Information,” IEEE Trans. Knowledge and Data Eng., vol. 15, no. 4, pp. 940-951, July/Aug.
2003.

[4]. [Deitel 2011] Paul J. Deitel, Harvey M. Deitel, Abbey Deitel, and Michael Morgano,
Android for Programmers: An App-Driven Approach, Prentice Hall, 2011.

[5]. James Gosling and Bill Joy and Guy Steele, The Java Language Specification, Addison-
Wesley, 1996. https://en.wikibooks.org/wiki/Java_Programming

[6]. The Oracle Designer/2000 Handbook, by Carrie Anderson and David Wendelken, Addison-
Wesley, 1997, https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_started

[7]. Oracle Designer/2000 Handbook , by Dr. Paul Dorsey and Peter Koletzke, Osborne
McGraw-Hill,1997, ISBN 0-07-882229-7 available at: www. oracle.org/article/search-ranking-
factors (accessed on 5 August 2010).

64

You might also like