0% found this document useful (0 votes)
171 views69 pages

Project

mba projects

Uploaded by

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

Project

mba projects

Uploaded by

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

K-Nearest Neighbor Classification over Semantically Secure Encrypted

Relational Data

ABSTRACT:
Cloud computing attracts many organizations to consider seriously regarding cloud
potential in terms of its cost-efficiency, flexibility, and offload of administrative overhead. Most
often, organizations delegate their computational operations in addition to their data to the
cloud.Despite tremendous advantages that the cloud offers, privacy and security issues in the cloud
are preventing companies to utilize those advantages.When data are encrypted, irrespective of the
underlying encryption scheme, performing any data mining tasks becomes very challenging
without ever decrypting the data.We proposed novel methods to effectively solve the DMED
problem assuming that the encrypted data are outsourced to a cloud.

1
CHAPTER 1
INTRODUCTION
1.1 GENERAL
The actual data mining task is the automatic or semi-automatic analysis of large quantities of data
to extract previously unknown interesting patterns such as groups of data records (cluster analysis),
unusual records (anomaly detection) and dependencies (association rule mining). This usually
involves using database techniques such as spatial indices. These patterns can then be seen as a
kind of summary of the input data, and may be used in further analysis or, for example, in machine
learning and predictive analytics.

1.2 OBJECTIVE:
We focus on solving the classification problem over encrypted data. In Particular,
we propose a secure k-NN classifier over encrypted data in the cloud. The proposed protocol
protects the confidentiality of Data, privacy of users input query, and hides the data access
patterns. To the best of our knowledge, our work is the first to develop secure k-NN classifier over
encrypted data under the semi-honest model. Also, we empirically analyze the efficiency of our
proposed Protocol using a real-world dataset under different parameter settings.

1.3 EXISTING SYSTEM


Perturbed data do not possess semantic security, so data perturbation techniques cannot be
used to encrypt highly sensitive data. Also the perturbed data do not produce very accurate data
mining results. Secure multi-party computation based approach assumes data are distributed and
not encrypted at each participating party. In addition, many intermediate computations are
performed based on non-encrypted data.We introduced new security primitives, namely secure
minimum (SMIN), secure minimum out of numbers (SMINn), secure frequency (SF), and proposed new
solutions for them.Provides formal security proofs of the underlying sub-protocols as well as the PPkNN
protocol under the semi-honest model.

1.3.1 LITERATURE SURVEY

Title : Finding Minimum Weight Connected Dominating Set in Stochastic Graph basedOn
Learning Automata

2
Author : Peter Mell, Timothy Grance
Year : 2008

Description:

`NIST is responsible for developing standards and guidelines, including minimum requirements,
for providing adequate information security for all agency operations and assets; but such
standards and guidelines shall not apply to national security systems.Cloud computing is an
evolving paradigm. The NIST definition characterizes important aspects of cloud computing and
is intended to serve as a means for broad comparisons of cloud services and deployment
strategies, and to provide a baseline for discussion from what is cloud computing to how to best
use cloud computing. The service and deployment models defined form a simple taxonomy that
is not intended to prescribe or constrain any particular method of deployment, service delivery,
or business operation.Cloud computing is a model for enabling ubiquitous, convenient, on-
demand network access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction. This cloud model is composed of
five essential characteristics, three service models, and four deployment models.On-demand self-
service. A consumer can unilaterally provision computing capabilities, such as server time and
network storage, as needed automatically without requiring human interaction with each service
provider. Broad network access. Capabilities are available over the network and accessed
through standard mechanisms that promote use by heterogeneous thin or thick client platforms
(e.g., mobile phones, tablets, laptops, and workstations).

Title : A Private Database Search with Sub linear Query Time


Author : Keith B. Frikken and Boyang Li
Year : 2012

Description:
There are many privacy/confidentiality concerns when querying a database about personal
information. For example, if a user is querying information about a medical condition, religious
beliefs, or political leanings then the query should remain private. Furthermore, a corporation
asking a query may fear that revealing the query is a risk to their competitive advantage.

3
Furthermore, even if the database owner is trusted, there is always the fear that a corrupt insider at
the database owners organization would leak the query information. The desire to protect the
queries is not only a concern of the querying entity, but the database owner might not want this
information due to liability concerns. One way to mitigate these concerns is to make the database
publicly available, but this is not always an option. For example, if the database contains
information about individuals, then revealing this information publicly may not be legal. Also, if
the database owner wants to charge for queries, then revealing the information publicly is not a
option.The two main goals of a protocol in this pre computation model are: i) that the
computation/communication of the interactive query phase and the client computation phase is sub
linear in the size of the dataset, and ii) that the total computation/communication is close to that
required by the general solutions.

Title : Secure k-Nearest Neighbor Query over Encrypted Data in Outsourced Environments
Author : Yousef Elmehdwi, Bharath K. Samanthula and Wei Jiang

Year : 2013
Description:
As an emerging computing paradigm, cloud computing attracts many organizations to consider
utilizing the benefits of a cloud in terms of cost-efficiency, flexibility, and offload of administrative
overhead. In cloud computing model , a data owner outsources his/her database T and the DBMS
functionalities to the cloud that has the infrastructure to host outsourced databases and provides
access mechanisms for querying and managing the hosted database. On one hand, by outsourcing,
the data owner gets the benefit of reducing the data management costs and improves the quality of
service. On the other hand, hosting and query processing of data out of the data owner control
raises security challenges such as preserving data confidentiality and query privacy. One
straightforward way to protect the confidentiality of the outsourced data from the cloud as well as
from the unauthorized users is to encrypt data by the data owner before outsourcing. By this way,
the data owner can protect the privacy of his/her own data. In addition, to preserve query privacy,
authorized users require encrypting their queries before sending them to the cloud for evaluation.
Furthermore, during query processing, the cloud can also derive useful and sensitive information
about the actual data items by observing the data access patterns even if the data and query are

4
encrypted. Therefore, following from the above discussions, secure query processing needs to
guarantee confidentiality of the encrypted data confidentiality of a users query record and hiding
data access patterns.
Title : Encrypted Execution

Author : Daejun Park, Jeehoon Kang, Kihong Heo, Sungkeun Cho,Yongho Yoon, and
Kwangkeun Yi
Year : 2014
Description:
Based on homomorphic encryption, we present secret execution in which an encrypted program is
evaluated without decryption. We propose a protocol how to encrypt a given program and how to
execute the encrypted program without decryption. Our secret execution protocol guarantees that
1) encrypted programs are totally secure, in the sense that attackers can never reconstruct any piece
of original programs from encrypted programs, and 2) execution results are correct, whose
decryption yields the very results of execution of original programs.We present a cryptographic
protocol for program execution. We project cryptographic concept of homomorphism encryption
to our domain, programs and their execution. Al-though Gentry's fully homomorphic encryption
scheme itself is sucient for all operations(including program execution), our work is meaningful

in that we present a specific in-stance for program execution, that is, we, for the rest time, dentine
the blurred region unexplored so far. More speci cally, we present how to evaluate expressions
with encrypted operators, how-to handle memory operation (such as assignment and lookup
operations) under encryption, and how to execute loop under encrypted loop condition.

Title : Safe Secret Image Sharing with Fault Tolerance Key

Author : Wen-Pinn Fang


Year : 2011
Description:
The current era of instant communication requires new methods of protecting, storing and
transmitting important data and involves issues such as encryption, digital signature,

5
watermarking, data hiding and secret sharing. Shamir presented the first secret sharing method
in1979. Secret sharing involves transmitting different shares in different channels. Nobody can see
the entire secret message with a single share. The only way to obtain a secret is to collect a number
of shares that exceeds a predefined threshold.RSA is another example of a public key system,
which is suitable for transmitting small amounts of important data in an open channel. All of these
methods are extensively adopted.The proposed method is safer than conventional secret image
sharing, which does not consider the relationship among neighboring pixels, and requires each
dealer to keep a coefficient in the share process. In traditional secret image sharing, the relationship
between neighboring pixels is obvious for some images.Since advanced encryption standard
(AES) is a fast-block cipher method, the order of complexity of the proposed system is not bigger
than that of traditional secret image sharing. In summary, the proposed method is more secure than
traditional secret image sharing.First, the whole secret image with a key is encoded using a Randal-
like encryption system. Second, the secret image sharing method of the in and Lin is adjusted from
prime 251 to GF (256) to achieve lossless recovery.

1.4 PROPOSED SYSTEM


Proposed a classification-based method which utilizes uppermost images as pseudo-positive and
undermost images as pseudo-negative examples to train a classifier and conduct re-ranking.The
query dependent features for each image are extracted from textual information to describe the
relationship between a query and an image.
1.4.1 PROPOSED SYSTEM ADVANTAGES
We introduced new security primitives, namely secure minimum (SMIN), secure minimum
out of numbers (SMINn), secure frequency (SF), and proposed new solutions for them.
Provides formal security proofs of the underlying sub-protocols as well as the PPkNN
protocol under the semi-honest model.

6
CHAPTER 2
REQUIREMENT ANALYSIS

2.1 HARDWARE REQUIREMENTS


The hardware requirements may serve as the basis for a contract for the implementation of
the system and should therefore be a complete and consistent specification of the whole system.
They are used by software engineers as the starting point for the system design. It shows what the
system does and not how it should be implemented.
PROCESSOR : PENTIUM IV 2.6 GHz, Intel Core 2 Duo.
RAM : 512 MB DD RAM
MONITOR : 15 COLOR
HARD DISK : 40 GB
2.3 SOFTWARE REQUIREMENTS
The software requirements document is the specification of the system. It should include
both a definition and a specification of requirements. It is a set of what the system should do rather
than how it should do it. The software requirements provide a basis for creating the software
requirements specification. It is useful in estimating cost, planning team activities, performing
tasks and tracking the teams and tracking the teams progress throughout the development activity.
FRONT END : JAVA (JSP, SERVLET)
BACK END : MY SQL 5.5
OPERATING SYSTEM : Windows 07
IDE : Eclipse

7
CHAPTER 3
SOFTWARE SPECIFICATIONS
3.1 GENERAL
This chapter is about the software language and the tools used in the development of the project.
The platform used here is JAVA.

3.2 FEATURES OF JAVA


3.2.1 THE JAVA FRAMEWORK
Java is a programming language originally developed by James Gosling at Sun
Microsystemsand released in 1995 as a core component of Sun Microsystems' Java platform. The
language derives much of its syntax from C and C++ but has a simpler object model and fewer
low-level facilities. Java applications are typically compiled to bytecode that can run on any Java
Virtual Machine (JVM) regardless of computer architecture. Java is general-purpose, concurrent,
class-based, and object-oriented, and is specifically designed to have as few implementation
dependencies as possible. It is intended to let application developers "write once, run anywhere".
Java is considered by many as one of the most influential programming languages of the
20th century, and is widely used from application software to web applicationsThe java framework
is a new platform independent that simplifies application development internet.Java technology's
versatility, efficiency, platform portability, and security make it the ideal technology for network
computing. From laptops to datacenters, game consoles to scientific supercomputers, cell phones
to the Internet, Java is everywhere!
3.2.2 OBJECTIVES OF JAVA
To see places of Java in Action in our daily life, explore java.com.
Why Software Developers Choose Java
Java has been tested, refined, extended, and proven by a dedicated community. And numbering
more than 6.5 million developers, it's the largest and most active on the planet. With its versatility,
efficiency, and portability, Java has become invaluable to developers by enabling them to:
Write software on one platform and run it on virtually any other platform
Create programs to run within a Web browser and Web services
Develop server-side applications for online forums, stores, polls, HTML forms processing,
and more

8
Combine applications or services using the Java language to create highly customized
applications or services
Write powerful and efficient applications for mobile phones, remote processors, low-cost
consumer products, and practically any other device with a digital heartbeat
Some Ways Software Developers Learn Java
Today, many colleges and universities offer courses in programming for the Java platform.
In addition, developers can also enhance their Java programming skills by reading Sun's
java.sun.com Web site, subscribing to Java technology-focused newsletters, using the Java
Tutorial and the New to Java Programming Center, and signing up for Web, virtual, or
instructor-led courses.
Object Oriented
To be an Object Oriented language, any language must follow at least the four characteristics.
1. Inheritance :It is the process of creating the new classes and using the behavior of the
existing classes by extending them just to reuse the existing code and adding addition a
features as needed.
2. Encapsulation: It is the mechanism of combining the information and providing the
abstraction.
3. Polymorphism: As the name suggest one name multiple form, Polymorphism is the
way of providing the different functionality by thefunctions having the same name based
on the signatures of the methods.
4. Dynamicbinding: Sometimes we don't have the knowledge of objects about their
specific types while writing our code. It is the way of providing the maximum
functionality to a program about the specific type at runtime.

3.2.3 COMPONETS OF JAVA FRAMEWORK


Java Server Pages or JSP for short is Sun's solution for developing dynamic web sites. JSP provide
excellent server side scripting support for creating database driven web applications. JSP enable
the developers to directly insert java code into jsp file, this makes the development process very
simple and its maintenance also becomes very easy.
JSP pages are efficient, it loads into the web servers memory on receiving the request very
first time and the subsequent calls are served within a very short period of time.

9
In today's environment most web sites servers dynamic pages based on user request.
Database is very convenient way to store the data of users and other things. JDBC provide excellent
database connectivity in heterogeneous database environment. Using JSP and JDBC its very
cceasy to develop database driven web application.
Java is known for its characteristic of "write once, run anywhere." JSP pages are
platfJavaServer Pages
JavaServer Pages (JSP) technology is the Java platform technology for delivering dynamic
content to web clients in a portable, secure and well-defined way. The JavaServer Pages
specification extends the Java Servlet API to provide web application developers with a robust
framework for creating dynamic web content on the server using HTML, and XML templates, and
Java code, which is secure, fast, and independent of server platforms.
JSP has been built on top of the Servlet API and utilizes Servlet semantics. JSP has become
the preferred request handler and response mechanism. Although JSP technology is going to be a
powerful successor to basic Servlets, they have an evolutionary relationship and can be used in a
cooperative and complementary manner.
Servlets are powerful and sometimes they are a bit cumbersome when it comes to
generating complex HTML. Most servlets contain a little code that handles application logic and
a lot more code that handles output formatting. This can make it difficult to separate and reuse
portions of the code when a different output format is needed. For these reasons, web application
developers turn towards JSP as their preferred servlet environment.

3.2.4 Evolution of Web Applications


Over the last few years, web server applications have evolved from static to dynamic applications.
This evolution became necessary due to some deficiencies in earlier web site design. For example,
to put more of business processes on the web, whether in business-to-consumer (B2C) or business-
to-business (B2B) markets, conventional web site design technologies are not enough. The main
issues, every developer faces when developing web applications, are:
1. Scalability - a successful site will have more users and as the number of users is increasing
fastly, the web applications have to scale correspondingly.
2. Integration of data and business logic - the web is just another way to conduct business, and so
it should be able to use the same middle-tier and data-access code.

10
3. Manageability - web sites just keep getting bigger and we need some viable mechanism to
manage the ever-increasing content and its interaction with business systems.
4. Personalization - adding a personal touch to the web page becomes an essential factor to keep
our customer coming back again. Knowing their preferences, allowing them to configure the
information they view, remembering their past transactions or frequent search keywords are all
important in providing feedback and interaction from what is otherwise a fairly one-sided
conversation.
Apart from these general needs for a business-oriented web site, the necessity for new technologies
to create robust, dynamic and compact server-side web applications has been realized. The main
characteristics of today's dynamic web server applications are as follows:
1. Serve HTML and XML, and stream data to the web client
2. Separate presentation, logic and data
3. Interface to databases, other Java applications, CORBA, directory and mail services
4. Make use of application server middleware to provide transactional support.
5. Track client sessions.
3.3 FEATURES OF COMMON LANGUAGE
Earlier in client- server computing, each application had its own client program and it
worked as a user interface and need to be installed on each user's personal computer. Most web
applications use HTML/XHTML that are mostly supported by all the browsers and web pages are
displayed to the client as static documents.
A web page can merely displays static content and it also lets the user navigate through the
content, but a web application provides a more interactive experience.
Any computer running Servlets or JSP needs to have a container. A container is nothing
but a piece of software responsible for loading, executing and unloading the Servlets and JSP.
While servlets can be used to extend the functionality of any Java- enabled server.
They are mostly used to extend web servers, and are efficient replacement for CGI scripts.
CGI was one of the earliest and most prominent server side dynamic content solutions, so before
going forward it is very important to know the difference between CGI and the Servlets.

11
3.4 J2EE
Java Servlet is a generic server extension that means a java class can be loaded dynamically
to expand the functionality of a server. Servlets are used with web servers and run inside a Java
Virtual Machine (JVM) on the server so these are safe and portable.
Unlike applets they do not require support for java in the web browser. Unlike CGI, servlets
don't use multiple processes to handle separate request. Servets can be handled by separate threads
within the same process. Servlets are also portable and platform independent.
A web server is the combination of computer and the program installed on it. Web server
interacts with the client through a web browser. It delivers the web pages to the client and to an
application by using the web browser and he HTTP protocols respectively.
The define the web server as the package of large number of programs installed on a
computer connected to Internet or intranet for downloading the requested files using File Transfer
Protocol, serving e-mail and building and publishing web pages. A web server works on a client
server model.

12
CHAPTER 4
SYSTEM DESIGN AND IMPLEMENTATION
4.1 GENERAL DESIGN
Design Engineering deals with the various UML [Unified Modeling language] diagrams for the
implementation of project. Design is a meaningful engineering representation of a thing that is to
be built. Software design is a process through which the requirements are translated into
representation of the software. Design is the place where quality is rendered in software
engineering. Design is the means to accurately translate customer requirements into finished
product.

4.1.1 USE CASE DIAGRAM

User
Login

User interface
Register

S K-NN Search Data

Secure Minimum

Secure Multiplication Result

Fig.4.1.1 Use case Diagram

13
Explanation:
This is a type of behavioral diagram defined by and created from a Use-case analysis.
In this UML diagram we present a actor behavior or role in that project.

4.1.2 CLASS DIAGRAM

User interface

LoginDao_In
terface

Login Dao
String password Register
String username Register bean

loginCheck() doRegister()

SK-NN
Ranking Process
String Datainfo

secureMinimum()

secureMulitipliaction()

Fig.4.1.2 Class Diagram

Explanation:
This type of static structure diagram that describes the structure of a system by
showing the systems classes, their attributes, operations (or methods), and the
relationships among the classes. User given query sent to server here user profile
was generated. Based on user privacy customization search it checks whether to
personalize search results or not.

14
4.1.3 OBJECT DIAGRAM

Login User Home

Update User Search


Server Process Data

Fig 4.1.3 Object Diagram


Explanation:
Object diagram shows that what are the operations available and how workflow goes
in proposed system .Greedy IL generalize user profile according to given query.UPS
determine whether results should be personalized or not. And then results given to
user.
4.1.4 SEQUENCE DIAGRAM

User User Process Search Data Update Server Data Decrypted


Encryption Classified data

User validation

Searching data

Updating process

Upload data

Return classified data

Fig 4.1.4 Sequence diagram


15
Explanation:
This diagram shows how processes operate with one another and in what
order. In this project user given query was matched with user profiles and given to
greedy IL after personalization results given to user.

4.1.5 COLLABORATION DIAGRAM

User Search
Data
1: User validation 2: Searching data

User
Process

5: Return classified data


3: Updating process
Decrypted
Classified data
Update 4: Upload data
Server

Data
Encryption

Fig 4.1.5 Collaboration diagram

Explanation:
In this diagram user given query was sent to server and matched with user profile. Whether data
to be hided depend upon User privacy customization search, results given to user

16
4.1.6 State diagram

User

User process

Update
server

Search data

S K-NN
Process

Result
State

Fig 4.1.6 State diagram


Explanation:
A state diagram is a type of diagram used in computer science and related fields to describe
the behavior of systems. State diagrams require that the system described is composed of a finite
number of states; sometimes, this is indeed the case, while at other times this is a reasonable

17
abstraction. Here user given query was sent to query analysis and result was filtered. Filtered
results are sent to user

4.1.7 ACTIVITY DIAGRAM

Register

User

Login

Update Server
User
Process

Encryption

Search Decryption
data

Result

Fig 4.1.7 Activity Diagram


Explanation:
In this diagram first we have to create a user profile to user given query. Greedy IL algorithm
generalizes user profiles and depending upon user profile results is personalized. At the end result
was sent to end user. In this diagram represents the behavior of personalization of search results.

18
4.1.8 COMPONENT DIAGRAM

Interface Package

Operations

5.5
Mysql
Admin Interface

Search
Tomcat
Engine

Fig 4.1.8 Component Diagram

Explanation:
This diagram depicts how components are wired together to form larger
components. User gives query in search box server, based on UPS results are filtered.
End user receives the personalized results.

19
4.1.9 DATA FLOW DIAGRAM
Level-0

User

Login Validate

True

SECURE K-NN

Choose Activity

Fig 4.1.9 Data flow diagram (level 0)

20
Level-1

User Process

Update Server Search Data

Retrieve Decryption Data

Fig 4.1.9 level 1

21
4.1.10 E-R DIAGRAM

Password

User E-mail id
Name

Verification

Update
Secure K-NN Encrypt
Server
Bulk Data

Result

Fig 4.10 E-R Diagram

Explanation:
Here sender and receiver is an entity and then password, name and port are all
attributes, then diamond box represents the relationship between the sender and
receiver. This diagram illustrates the relationship between database and entity

22
4.2 SYSTEM ARCHITECTURE

Fig 4.2 SYSTEM ARCHITECTURE

23
Explanation:
User profiles are generalized using greedy IL. The finding motivates us to maintain
a priority queue of candidate prune-leaf operators in descending order of the
information loss caused by the operator. This queue, denoted by Q, enables fast
retrieval of the best so- far candidate operator. Filtering results based on UPS and
results are shown to user.
4.3 GENERAL IMPLEMENTATION
4.3.1 CODING
Home.jsp
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
<title>I Search(Admin)</title>
<metaname="keywords"content=""/>
<metaname="description"content=""/>
<!--
Template 2031 Green Age
http://www.tooplate.com/view/2031-green-age
-->
<linkhref="tooplate_style.css"rel="stylesheet"type="text/css"/>

<scriptlanguage="javascript"type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
elseif (field.value == '') field.value = field.defaultValue;
}
</script>
24
<linkrel="stylesheet"href="css/nivo-slider.css"type="text/css"media="screen"/>
<scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"type="text/javascript
"></script>
<scriptsrc="js/jquery.nivo.slider.js"type="text/javascript"></script>

<scripttype="text/javascript">
$(window).load(function() {
$('#slider').nivoSlider({
effect:'random',
slices:10,
animSpeed:400,
pauseTime:2200,
startSlide:0, //Set starting Slide (0 index)
directionNav:false,
directionNavHide:false, //Only show on hover
controlNav:false, //1,2,3...
controlNavThumbs:false, //Use thumbnails for Control Nav
pauseOnHover:true, //Stop animation while hovering
manualAdvance:false, //Force manual transitions
captionOpacity:0.8, //Universal caption opacity
beforeChange: function(){},
afterChange: function(){},
slideshowEnd: function(){} //Triggers after all slides have been shown
});
});
</script>
</head>
<bodyclass="homepage">
<divid="tooplate_wrapper">
<divid="tooplate_header">

25
<divid="site_title"><h1><ahref="#">I Search</a></h1></div>
<divclass="cleaner"></div>
</div>
<divid="tooplate_menu">
<ul>
<li><ahref="home.jsp"class="current">Home</a></li>
</ul>
<divclass="cleaner"></div>
</div><!-- end of tooplate_menu -->
<divid="tooplate_middle">
<divid="slider">
<ahref="#"><imgsrc="images/slideshow/01.jpg"alt="nature 1"title="Suspendisse quis velit ac
nisl ultrices tristique a eu velit."/></a>
<ahref="#"><imgsrc="images/slideshow/02.jpg"alt="nature 2"title="Fusce eget tellus eget felis
ultrices volutpat et vitae mauris."/></a>
<ahref="#"><imgsrc="images/slideshow/03.jpg"alt="nature 3"title="Duis non est nec dui
tincidunt pulvinar lacinia vel quam."/></a>
<ahref="#"><imgsrc="images/slideshow/04.jpg"alt="nature 4"title="Phasellus in orci eget
neque tristique semper ut ac lacus."/></a>
</div>
</div>
<divid="tooplate_main">
<divclass="col_w960">
<h2>Welcome to I Search</h2>
<divclass="col_w450 float_l">
<divclass="wwd_box">
<imgsrc="images/i9.gif"height="150px"alt="Work One"/>
<h3><ahref="#">Update Server</a></h3>
<p>To update server for new image will be store</p>
<ahref="Store.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>

26
</div>

<divclass="wwd_box">
<imgsrc="images/i13.gif"height="150px"alt="Work One"/>
<h3><ahref="#">New Table Creation?</a></h3>
<p>To update server for new image will be store</p>
<ahref="NewTable.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>
</div>
</div>

<divclass="col_w450 float_r">
<divclass="wwd_box">
<imgsrc="images/i12.gif"height="150px"alt="Work One"/>
<h3><ahref="#">View Server</a></h3>
<p>To update server for new image will be store</p>
<ahref="choosetable.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>
</div>
<divclass="wwd_box">
<imgsrc="images/i14.gif"height="150px"alt="Work One"/>
<h3><ahref="#">Delete Process</a></h3>
<p>Delete image from server.</p>
<ahref="delete.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>
</div>
divclass="cleaner"></div>
</div>

<divclass="col_w960 col_w960_last">
<h2>Latest Projects</h2>

27
<divclass="lp_box">
<h6>Nullam ut neque neque</h6>
<ahref="#"><imgsrc="images/tooplate_image_01.jpg"alt="Image 01"/></a>
<p>Etiam ut nibh et urna cursus ultricies nec vel nunc. In hac habitasse platea dictumst.</p>
<ahref="#"class="more float_r">More</a>
<divclass="cleaner"></div>
</div>

<divclass="lp_box">
<h6>Sed aliquam mauris</h6>
<ahref="#"><imgsrc="images/tooplate_image_02.jpg"alt="Image 02"/></a>
<p>Donec ullamcorper feugiat nunc ut tempus. Sed sodales, nibh ut ultricies pulvinar.</p>
<ahref="#"class="more float_r">More</a>
<divclass="cleaner"></div>
</div>

<divclass="lp_box lp_box_last">
<h6>Aliquam aliquet sem</h6>
<ahref="#"><imgsrc="images/tooplate_image_03.jpg"alt="Image 03"/></a>
<p>Praesent auctor quam quis libero venenatis dapibus. Donec ullamcorper feugiat nunc ut
tempus.</p>
<ahref="#"class="more float_r">More</a>
<divclass="cleaner"></div>
</div>

<divclass="cleaner"></div>
</div>

<divclass="cleaner"></div>
</div><!-- end of main -->
</div><!-- end of wrapper -->

28
<divid="tooplate_cr_wrapper">
<divid="tooplate_cr">

Copyright 2048 <ahref="#">Company Name</a> - Design:


<ahref="http://www.tooplate.com">tooplate</a>

</div><!-- end of footer wrapper -->


</div><!-- end of footer -->
</body>
</html>

Login.html
<!DOCTYPEhtml>

<head>
<metacharset="UTF-8"/>
<!--<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> -->
<title>Login</title>
<metaname="viewport"content="width=device-width, initial-scale=1.0">
<metaname="description"content="Login and Registration Form with HTML5 and CSS3"/>
<metaname="keywords"content="html5, css3, form, switch, animation, :target, pseudo-class"/>
<metaname="author"content="Codrops"/>
<linkrel="shortcut icon"href="../favicon.ico">
<linkrel="stylesheet"type="text/css"href="css/demo.css"/>
<linkrel="stylesheet"type="text/css"href="css/style3.css"/>
<linkrel="stylesheet"type="text/css"href="css/animate-custom.css"/>
</head>
<body>
<divclass="container">
<!--Codrops top bar -->
<divclass="codrops-top">

29
<ahref="">
<strong>&laquo;</strong>
</a>
<spanclass="right">
<ahref="http://localhost:8080/I-iSearch/#">
<strong>Back to the I-
Search Engine</strong>
</a>
</span>
<divclass="clr"></div>
</div><!--/ Codrops top bar -->
<header>
<h1><span>I Search (Admin) To upload Server</span></h1>
<navclass="codrops-demos">
<span><strong></strong></span>

</nav>
</header>
<section>
<divid="container_demo">
<!-- hidden anchor to stop jump http://www.css3create.com/Astuce-Empecher-le-scroll-avec-l-
utilisation-de-target#wrap4 -->
<aclass="hiddenanchor"id="toregister"></a>
<aclass="hiddenanchor"id="tologin"></a>
<divid="wrapper">
<divid="login"class="animate form">
<formaction="AdminLogin"method="post">
<h1>Log in</h1>
<p>
<labelfor="username"class="uname"data-icon="u">Admin Name </label>

30
<inputid="username"name="aname"required="required"type="text"placeholder="admin
name"/>
</p>
<p>
<labelfor="password"class="youpasswd"data-icon="p">Your password </label>
<inputid="password"name="pass"required="required"type="password"placeholder="eg.
X8df!90EO"/>
</p>
<pclass="keeplogin">

<inputtype="checkbox"name="loginkeeping"id="loginkeeping"value="loginkeeping"/>

<labelfor="loginkeeping">Keep me logged in</label>


</p>
<pclass="login button">
<inputtype="submit"name="status"value="Login"/>
</p>
</form>
</div>
<divid="register"class="animate form">
<formaction="mysuperscript.php"autocomplete="off">
<h1> Sign up </h1>
<p>
<labelfor="usernamesignup"class="uname"data-icon="u">Yourusername</label>
<inputid="usernamesignup"name="usernamesignup"required="required"type="text"placeholder
="mysuperusername690"/>
</p>
<p>
<labelfor="emailsignup"class="youmail"data-icon="e">your email</label>
<inputid="emailsignup"name="emailsignup"required="required"type="email"placeholder="mys
[email protected]"/>
</p>

31
<p>
<labelfor="passwordsignup"class="youpasswd"data-icon="p">your password </label>
<inputid="passwordsignup"name="passwordsignup"required="required"type="password"place
holder="eg. X8df!90EO"/>
</p>
<p>
<labelfor="passwordsignup_confirm"class="youpasswd"data-icon="p">Please confirm your
password </label>
<inputid="passwordsignup_confirm"name="passwordsignup_confirm"required="required"type
="password"placeholder="eg. X8df!90EO"/>
</p>
<pclass="signin button">
<inputtype="submit"value="Sign up"/>
</p>
<pclass="change_link">
Already a member ?
<ahref="#tologin"class="to_register"> Go and log in </a>
</p>
</form>
</div>
</div>
</div>
</section>
</div>
</body>
</html>

AgentLogin.java

Package com.Servlet;

32
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.Implementation.Implementaion;
import com.Interface.ISearchInterface;
import com.sun.xml.internal.ws.api.ha.StickyFeature;

/**
* Servlet implementation class AdminLogin
*/
@WebServlet("/AdminLogin")
public class AdminLogin extends HttpServlet {
private static final long serialVersionUID = 1L;

33
/**
* @see HttpServlet#HttpServlet()
*/
public AdminLogin() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
String status=request.getParameter("status");
String tname=request.getParameter("tablename");
final String DATE_FORMAT_NOW = "dd-MM-yyyy";
Calendar cal = Calendar.getInstance();

34
SimpleDateFormat sdf = new
SimpleDateFormat(DATE_FORMAT_NOW);
String datetime=sdf.format(cal.getTime());
System.out.println(datetime);
ISearchInterface in=new Implementaion();
String name=request.getParameter("aname");
String password=request.getParameter("pass");
System.out.println(name+""+password);
String refreshdate=in.getdate();
if(status.contentEquals("Login")){
if(name.contentEquals("admin") && password.contentEquals("admin"))
{
System.out.println("Hi am admin");

response.sendRedirect("home.jsp");
}}
else
if(status.contentEquals("Refresh")){System.out.println("*****"+refreshdate
);
if(datetime.trim().contentEquals(refreshdate.trim())){
System.out.println("%%%%%%");
int i=in.delete(tname);}}
else{

response.sendRedirect("error.jsp");
}
}
35
NewTable.java
package com.Servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.BeanClass.ImageDetails;
import com.Implementation.Implementaion;
import com.Interface.ISearchInterface;

/**
* Servlet implementation class NewTable
*/
@WebServlet("/NewTable")
public class NewTable extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public NewTable() {
super();
36
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {

String tablename=request.getParameter("tname");
ImageDetails ibean=new ImageDetails();
ibean.setFilename(tablename);
ISearchInterface in=new Implementaion();
int i=in.newtable(ibean);

if(i==1){response.sendRedirect("home.jsp");}else{response.sendRedirect("e
rror.jsp");}
}
37
}

UploadFile.java
package com.Servlet;

import java.beans.beancontext.BeanContext;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.BeanClass.ImageDetails;
import com.Implementation.Implementaion;
import com.Interface.ISearchInterface;
import com.oreilly.servlet.multipart.FilePart;
import com.oreilly.servlet.multipart.MultipartParser;
import com.oreilly.servlet.multipart.ParamPart;
import com.oreilly.servlet.multipart.Part;

@WebServlet("/UploadFile")
38
public class UploadFile extends HttpServlet {
private static final long serialVersionUID = 1L;

public UploadFile() {
super();
}

protected void doGet(HttpServletRequest request,


HttpServletResponse response) throws ServletException, IOException {

protected void doPost(HttpServletRequest request,


HttpServletResponse response) throws ServletException,
IOException {

String fileToupload = null;


int imagesiz = 0, rank = 0;
double insert = 0;
String fileName = null;

MultipartParser mp = new MultipartParser(request, 999999999);


Part part = null;
FilePart filePart = null;
ParamPart paramPart = null;

// Bean Class
39
ImageDetails ibean = new ImageDetails();

// Interface process
ISearchInterface inter = new Implementaion();

while ((part = mp.readNextPart()) != null) {


fileToupload = getServletContext().getRealPath("/");
System.out.println(fileToupload);

// bean.setPath(fileToupload);
System.out.println(fileToupload);
fileToupload=fileToupload.substring(0,
fileToupload.indexOf(".")) +
"I-iSearch\\WebContent\\Imagestorage\\";
if (part.isFile()) {
filePart = (FilePart) part;
fileName = filePart.getFileName();

fileToupload = fileToupload + fileName;


System.out.println(fileToupload + "&**(()))");
File file = new File(fileToupload);

String absolutepath = file.getAbsolutePath();


System.out.println(absolutepath + "absolutepath");

// fileToupload = fileToupload + "\\" +fileName ;


File uploadedFile = new File(absolutepath);
40
double fileSize = filePart.writeTo(uploadedFile);
/*
*longround=Math.round(fileSize);long
imagesize=round/1024;
* int imagesiz=(int) imagesize;
*/
imagesiz = (int) fileSize;

// bean.setFileSize1(fileSize);
System.out.println(" fileSize = " + fileSize);
} else if (part.isParam())
{
paramPart = (ParamPart) part;
String tagName = paramPart.getName();
System.out.println("tagName = " + tagName);
String tagValue = paramPart.getStringValue();
rank=Integer.parseInt(tagValue);
System.out.println("tagValue = " + rank);
ibean.setImagerank(rank);
ArrayList<String>paramValues=new ArrayList<String>();
paramValues.add(tagValue);
System.out.println(paramValues.size() + "arrayvalue");
ibean.setImagesdetail(paramValues);
}
}
// calling interface
ibean.setImagerank(rank);
41
ibean.setFilename(fileName);
ibean.setImagesize(imagesiz);
ibean.setPath(fileToupload);
insert = inter.imagedetail(ibean);
if (insert > 0) {
RequestDispatcher rd = request
.getRequestDispatcher("Store.jsp");
rd.forward(request, response);
} else {
RequestDispatcher
rd = request.getRequestDispatcher("error.jsp");
rd.forward(request, response);
}
}
}

Implementation.java
package com.Implementation;

importjava.beans.beancontext.BeanContext;
import java.io.File;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

42
import com.BeanClass.ImageDetails;
import com.DBConnection.DBConnection;
import com.Interface.ISearchInterface;

publicclass Implementaion implements ISearchInterface{


static DBConnection connection=new DBConnection();
Connection con=null;
PreparedStatement ps=null,ps1=null,ps2=null;
String iname=null;

publicint imagedetail(ImageDetails ibean)


{

int i=0,size,size1;
size=ibean.getImagesize();
size1=size/1024;
ArrayList< String>arr=new ArrayList<>();
String id=ibean.getFilename();
System.out.println("output"+id);
try {

System.out.println("ImageDteial");
con =connection.con();
if(id.charAt(0)=='a'){
ps=con.prepareStatement("INSERT INTO
isearch.apple(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");
}
elseif(id.charAt(0)=='b'){ps=con.prepareStatement("INSERT INTO
isearch.bird(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
elseif(id.charAt(0)=='o'){ps=con.prepareStatement("INSERT INTO
isearch.orange(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}

43
elseif(id.charAt(0)=='m'){ps=con.prepareStatement("INSERT INTO
isearch.mango(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
elseif(id.charAt(0)=='k'){ps=con.prepareStatement("INSERT INTO
isearch.abdul kalam(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
elseif(id.charAt(0)=='s'){ps=con.prepareStatement("INSERT INTO
isearch.steve jobs(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}

ps.setString(1, ibean.getFilename());
ps.setInt(2,size1);
ps.setInt(3,ibean.getImagerank());
ps.setInt(4, 0);
i=ps.executeUpdate();
} catch (SQLException e) {

e.printStackTrace();
}

return i;
}

@Override
publicint newtable(ImageDetails ibean) {
// TODO Auto-generated method stub

Statement stmt;
int i=0;
try {
con=connection.con();
PreparedStatement st;
stmt = con.createStatement();

44
st=con.prepareStatement("INSERT INTO isearch.imagecollection
VALUES(?)");
st.setString(1, ibean.getFilename());
String sql = "CREATE TABLE " +ibean.getFilename()+
"(imagename VARCHAR(45) not NULL, " +
" imagesize INTEGER(45), " +
" initialrank INTEGER(45), " +
" dynamiccount INTEGER(45), " +
" PRIMARY KEY (imagename ))";
i=st.executeUpdate();

stmt.executeUpdate(sql);
System.out.println("%^^%^^%"+i);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}

@Override
publicint refresh(String refreshdate) {
// TODO Auto-generated method stub
int i=0;
try {
con=connection.con();
ps=con.prepareStatement("UPDATE isearch.operation o SET
refreshdate='"+refreshdate+"' where id=1");
i=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block

45
e.printStackTrace();
}
return i;
}

@Override
publicint delete(String refreshdate) {
int j=0;
try {
iname=refreshdate;
int i=0;
ResultSet rs=null,rs1=null;
con=connection.con();
ps=con.prepareStatement("SELECT imagename, min(dynamiccount)
FROM isearch."+refreshdate+ " GROUP BY imagename");
rs=ps.executeQuery();

while(rs.next()){i=rs.getInt(2);
iname=rs.getString(1);
File file=newFile("D:\\WORKSPACE1(2015-2016)\\I-
iSearch\\WebContent\\Imagestorage\\"+iname);
file.delete();
}
ps1=con.prepareStatement("DELETE FROM isearch."+refreshdate+ "
WHERE dynamiccount="+i);
j=ps1.executeUpdate();

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

46
return j;
}

@Override
public String getdate() {
String date=null;
ResultSet rs;
try {
con=connection.con();
ps=con.prepareStatement("SELECT refreshdate FROM isearch.operation
where id=1");
rs=ps.executeQuery();
while(rs.next()){date=rs.getString(1);}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return date;
}
}

Index.html

<!DOCTYPEhtmlPUBLIC"-//W3C//DTD HTML 4.01


Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1">
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>

47
<linkhref="css/style.css"rel="stylesheet"type="text/css"/>
<linkrel="stylesheet"type="text/css"href="styles.css"/>

<scripttype="text/javascript"src="js/jquery-1.4.2.min.js"></script>

<scriptsrc="js/jquery.autocomplete.js"></script>
<script>
jQuery(function() {
$("#s").keyup(function() {
$("#disjunctive").autocomplete("list.jsp");
var value = "";
$.ajax({
url :"autocontroller.jsp?q=" + $("#s").val(),
//type: "post",
data : value,
cache :false,
success :function(data) {
//alert(data);
$('#msg_Display').html(data);
}
});
});
$("#s").change(function() {
});
});
</script>
<title>i Search</title>
</head>
<body>
<divid="page">
<formaction="dyanamicsearch.jsp">

48
<divid="searchForm">
<fieldset>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br><imgsrc="img/i2.gif"width="200"height="150"
class="under"/><imgsrc="img/i10.png"width="220"height="200"class="over"/>
<imgsrc="img/i3.gif"width="150"height="200"class="row"/>
<inputtype="text"name="disjunctive"id="s"id="country"/>
<inputtype="submit"value="search"id="submitButton"/>
<divid="msg_Display"></div>
</fieldset>
</div>
</form>
</div>
</body>
</html>
Agenthome.jsp

49
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@pageimport="java.sql.*"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>WCSST 19</title>
<metahttp-equiv="Content-type"content="text/html; charset=utf-8"/>
<linkrel="shortcut icon"type="image/x-icon"
href="css/images/favicon.ico"/>
<linkrel="stylesheet"href="css/style.css"type="text/css"media="all"/>
<linkrel="stylesheet"href="css/prettyCheckboxes.css"type="text/css"
media="all"/>
<linkrel="stylesheet"href="css/customScroller.css"type="text/css"
media="all"/>
<scriptsrc="js/jquery-1.4.2.js"type="text/javascript"></script>
<scriptsrc="js/prettyCheckboxes.js"type="text/javascript"></script>
<scriptsrc="js/jquery.customScroller-1.2.js"type="text/javascript"></script>
<scriptsrc="js/js-func.js"type="text/javascript"></script>
<!--[if IE 6]>
<link rel="stylesheet" href="css/ie6.css" type="text/css" media="all" />
<script src="js/png-fix.js" type="text/javascript"></script>
<![endif]-->
<scripttype="text/javascript"src='js/jquery.min.js'></script>
</head>
<script>function startTime() {
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();

50
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML = h+":"+m+":"+s;
vart = setTimeout(function(){startTime()},500);
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}</script>
<bodyonload="startTime()">
<!-- START PAGE SOURCE -->
<divclass="shell">
<divclass="gallery"
<divclass="gallery-t">
<divclass="gallery-head">
<divclass="category">
<ahref="#">Category</a>
<divclass="dd-holder">
<divclass="dd-t"></div>
<divclass="dd">
<divclass="dd-inner">
</div>
<divclass="cl">&nbsp;</div>
</div>
<divclass="dd-b"></div>
</div>
</div>

<divclass="sort-by">
<h3>Time:</h3>
<divclass="custom-checkboxes">

51
<formaction="#"method="post">
<fontcolor:"red"> <divid="txt">
</div></font>

</form>
<divclass="cl">&nbsp;</div>
</div>
<divclass="cl">&nbsp;</div>
</div>
<divclass="cl">&nbsp;</div>
</div>

<divclass="gallery-holder">
<divclass="gallery-content">

<ul>
<%
String name = request.getParameter("disjunctive").toString();
// String
url="http://www.google.co.in/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1366&bi
h=667&q="+name+"&oq=ap&gs_l=img.1.0.0l10.3415.4554.0.5850.2.2.0.0.0.0.139.235.1j1.2.0..
..0...1ac.1.64.img..0.2.234.RvDonERYvIY";

//response.sendRedirect(url);
session.setAttribute("mainkey", name);
System.out.print("######"+name);
String iname=null;
int Size=0;
ResultSet rs=null;

52
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/isearch", "root",
"root");
PreparedStatement st=con.prepareStatement("select imagename,imagesize,dynamiccount from
isearch."+name+ " order by dynamiccount desc");
rs=st.executeQuery();
while(rs.next())
{
%>
<li><ahref="#"><img src="Imagestorage/<%=iname=rs.getString(1) %>"width="110"
height="110"alt=""/></a>
<divclass="image-hover">

<h6>Size:<%=Size=rs.getInt(2) %></h6>
<a>Most View:<%=Size=rs.getInt(3) %></a>

<ahref="count.jsp?lol=<%=iname=rs.getString(1) %>">click me</a>

</div></li>
<%} %>
</ul>
<divclass="gallery-b">&nbsp;</div>
</div>
</div>
</div>
</div>
</div>

<divclass="footer">
<pclass="lf">
Copyright &copy; 2010 <ahref="#">SiteName</a> - All Rights Reserved

53
</p>
<pclass="rf">
Design by <ahref="http://www.websitecsstemplates.com/"
target="_blank">WebsiteCSSTemplates</a>
</p>
<divstyle="clear: both;"></div>
</div>
<!-- END PAGE SOURCE -->
</body>
</html>

54
CHAPTER 5
SOFTWARE TESTING
5.1 GENERAL
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the functionality
of components, sub assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the Software system meets its requirements and user
expectations and does not fail in an unacceptable manner. There are various types of test. Each test
type addresses a specific testing requirement.

5.2 DEVELOPING METHODOLOGIES


The test process is initiated by developing a comprehensive plan to test the general
functionality and special features on a variety of platform combinations. Strict quality control
procedures are used.
The process verifies that the application meets the requirements specified in the system
requirements document and is bug free. The following are the considerations used to develop the
framework from developing the testing methodologies.

5.3 TYPES OF TESTING


5.3.1 Unit testing
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program input produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately to
the documented specifications and contains clearly defined inputs and expected results.

55
5.3.2 Functional test
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.
5.3.3 System Test
System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions and
flows, emphasizing pre-driven process links and integration points.
5.3.4 Performance Test
The Performance test ensures that the output be produced within the time limits,and the
time taken by the system for compiling, giving response to the users and request being send to the
system for to retrieve the results.
5.3.5 Integration Testing
Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or one step up software applications at the company level
interact without error.
5.3.6 Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional requirements.
Acceptance testing for Data Synchronization:
The Acknowledgements will be received by the Sender Node after the Packets are received
by the Destination Node
The Route add operation is done only when there is a Route request in need

56
5.2.7 Build the test plan
Any project can be divided into units that can be further performed for detailed
processing. Then a testing strategy for each of this unit is carried out. Unit testing helps to identity
the possible bugs in the individual component, so the component that has bugs can be identified
and can be rectified from errors.

5.4 ABOUT SNAPSHOTS


Snapshot is nothing but every moment of the application while running. It gives the clear elaborated of
application. It will be useful for the new user to understand for the future steps.

5.5 VARIOUS SNAPSHOT

57
Home Page:

Agent Login Page:

58
Agent Register Page:

SNAPSHOT 2
Agent Home Page:

59
SNAPSHOT 3
Store.jsp

SNAPSHOT 4
Search Client Detail

60
SNAPSHOT 4
Key Generation Page:

SNAPSHOT 5
Result Page:

61
Decryption Page:

SNAPSHOT 6
Database

62
CHAPTER 6
SAMPLE CODE

6.1 AGENT HOME PAGE

<!DOCTYPE HTML>
<!-- Website Template by freewebsitetemplates.com -->
<%@page import="com.DBConnection.DBConnection"%>
<html>
<head>
<%@ page import="java.io.*,java.sql.*"%>
<meta charset="UTF-8">
<title>Agent Home</title>
<link rel="stylesheet" href="css/style.css" type="text/css">
</head>
<body>
<div id="header">
<div>
<ul>
<li><a href="index.html">home</a></li>
<li><a href="library.html">color library</a></li>
<li><a href="gallery.html">gallery</a></li>
<li class="selected"><a href="blog.html">blog</a></li>
<li><a href="about.html">about us</a></li>
<li><a href="contact.html">contact us</a></li>
</ul>
</div>

63
</div>
<div id="body">
<div class="blog">
<div class="sidebar">
<h2>Agent Detail</h2>
<%
String id = null, cno = null;
String agentid = request.getParameter("aid");
String policyno = request.getParameter("policyno");
System.out.print("GHGG" + policyno);
DBConnection co = new DBConnection();
PreparedStatement st = null;
String key=null;
long mno, acno2;
ResultSet rs = null;
Connection con = co.con();
String name = request.getParameter("agentname");

st = con.prepareStatement("SELECT * FROM lic.agentregister where AgentName='"+ name +


"'");

rs = st.executeQuery();
while (rs.next()) {
id = rs.getString(2);
cno = rs.getString(6);
key=rs.getString(7);
}
%>

64
<div>
<h3 class="selected">
Agent Name: <span id="sa"><%=name%></span>
</h3>
<h3 class="selected">
Agent &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ID: <span><%=id%></span>
</h3>
<h3 class="selected">
Contact No: <span><%=cno%></span>
</h3>
</div>
<div>
<h3>*****************************</h3>
</div>
</div>
<div class="content">
<div class="article">
<h3>Upload Client Detail</h3>
<a href="Update.jsp?id=<%=id%>&&aname=<%=name %>" class="figure"><img
src="images/up.png" alt="" width="150px"></a>
<p>Exactly how often you should be updating statistics depends greatly on how much data
modification your indexes and data is receiving. If there is very little modification (INSERT,
UPDATE, DELETE) to the data, then you could have a more infrequent schedule for the update
statistics job.u</p>

</div>
<div class="article">
<h3>Delete Client Detail</h3>

65
<a href="Delete.jsp?aid=<%=id %>&&aname=<%=name %>" class="figure"><img
src="images/delete.png" alt=""
width="150px"></a>
<p>In general, delete or remove refers to the act of eliminating a file, text, or other object from
the computer hard drive or other media. Files deleted in Microsoft Windows are sent to the
Recycling Bin; on Apple computers, they're sent to the Trash. In most operating systems, when
files are deleted they are only marked as such, but will still exist on the hard drive until they are
overwritten by other data. This condition is what makes data recovery possible.</p>

</div>
<div class="article">
<h3>View Client Detail</h3>
<a href="search.jsp?aid=<%=id %>" class="figure"><img src="images/view.png"
alt="" width="150px"></a>
<p>In a database management system, a view is a way of portraying information in the database.
This can be done by arranging the data items in a specific order, by highlighting certain items, or
by showing only certain items. For any database, there are a number of possible views that may
be specified. Databases with many items tend to have more possible views than databases with
few items. Often thought of as a virtual table, the view doesn't actually store information itself,
but just pulls it out of one or more existing tables. Although impermanent, a view may be
accessed repeatedly by storing its criteria in a query.</p>

</div>
<div class="article">
<h3>Enter Your Secret Key</h3>
<a href="Keygenerate.jsp?id=<%=id%>" class="figure"><img
src="images/view.png" alt="" width="150px"></a>
<p>In a database management system, a view is a way of portraying information in the database.
This can be done by arranging the data items in a specific order, by highlighting certain items, or
by showing only certain items. For any database, there are a number of possible views that may
be specified. Databases with many items tend to have more possible views than databases with

66
few items. Often thought of as a virtual table, the view doesn't actually store information itself,
but just pulls it out of one or more existing tables. Although impermanent, a view may be
accessed repeatedly by storing its criteria in a query.</p>

</div>
</div>
</div>
<div id="footer"> <div>
<ul class="contact">
</ul>
<ul class="connect">
<li class="googleplus"><a

href="http://freewebsitetemplates.com/go/googleplus/">googleplus</a>
</li>
<li class="mail"><a

href="http://www.freewebsitetemplates.com/misc/contact">mail</a></li>
<li class="facebook"><a

href="http://freewebsitetemplates.com/go/facebook/">facebook</a></li>
<li class="twitter"><a

href="http://freewebsitetemplates.com/go/twitter/">twitter</a></li>
</ul>
</div>
<p>Copyright 2011. All Rights Reserved</p>
</div>
</body>
</html>

67
CHAPTER 7
7. CONCLUSION

To protect user privacy, various privacy-preserving classification techniques have been


proposed over the past decade. The existing techniques are not applicable to outsourced database
environments where the data resides in encrypted form on a third-party server. This paper proposed
a novel privacy-preserving k-NN classification protocol over encrypted data in the cloud. Our
protocol protects the confidentiality of the data, users input query, and hides the data access
patterns. We also evaluated the performance of our protocol under different parameter settings.

68
REFERENCES

[1]P. Mell and T. Grance, The NIST definition of cloud computing (draft), NIST Special
Publication, vol. 800, p. 145, 2011.
[2] S. De Capitani di Vimercati, S. Foresti, and P. Samarati, Managing and accessing data in the
cloud: Privacy risks and approaches, in Proc. 7th Int. Conf. Risk Security Internet Syst., 2012,pp.
19.1272 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 27,
NO. 5, MAY 2015
[3] P. Williams, R. Sion, and B. Carbunar, Building castles out of mud: Practical access pattern
privacy and correctness on UN trusted storage, in Proc. 15th ACM Conf. Compute. Common.
Security, 2008, pp. 139148.
[4] P. Paillier, Public key cryptosystems based on composite degree residuosity classes, in Proc.
17th Int. Conf. Theory Appl. Cryptographic Techn., 1999, pp. 223238.
[5] B. K. Samanthula, Y. Elmehdwi, and W. Jiang, k-nearest neighborclassification over
semantically secure encrypted relational data,eprint arXiv:1403.5001, 2014.
[6] C. Gentry, Fully homomorphic encryption using ideal lattices,in Proc. 41st Annu. ACM
Sympos. Theory Comput., 2009, pp. 169178.
[7] C. Gentry and S. Halevi, Implementing gentrys fully-homomorphic encryption scheme, in
Proc. 30th Annu. Int. Conf. Theory Appl. Cryptographic Techn.: Adv. Cryptol., 2011, pp. 129
148.
[8] A. Shamir, How to share a secret, Commun. ACM, vol. 22,pp. 612613, 1979.
[9] D. Bogdanov, S. Laur, and J. Willemson, Sharemind: A framework for fast privacy-preserving
computations, in Proc. 13th Eur.Symp. Res. Comput. Security: Comput. Security, 2008, pp. 192
206.
[10] R. Agrawal and R. Srikant, Privacy-preserving data mining,ACM Sigmod Rec., vol. 29, pp.
439450, 2000.
[11] Y. Lindell and B. Pinkas, Privacy preserving data mining, inProc.20th Annu. Int. Cryptol.
Conf. Adv. Cryptol., 2000, pp. 3654.
[12] P. Zhang, Y. Tong, S. Tang, and D. Yang, Privacy preserving Naive Bayes classification,
in Proc. 1st Int. Conf. Adv. Data Mining Appl., 2005, pp. 744752.

69

You might also like