Professional Documents
Culture Documents
INTRODUCTION
Online_Shopping is the process whereby consumers directly buy and sell goods,
services etc. interactively in real-time without an intermediary service over the internet.
Online_Shopping is the process of buying and selling goods on the Internet. Since the
emergence of the World Wide Web, merchants have sought to sell their products to people who surf
the Internet. Shoppers can visit web stores from the comfort of their homes and shop as they sit in
front of the computer. Consumers buy a variety of items from online stores. In fact, people can
purchase just about anything from companies that provide their products online. Vegetables,
Fruits, Beverages and Breads, Dairy Milk, etc are which people can buy from our online store.
Many people choose to conduct shopping online because of the convenience. For example, when
a person shops at a brick-and-mortar store, He/ she has to drive to the store, find a parking place, and
walk throughout the store until He/ she locates the products he/ she needs. After finding the items he/she
wants to purchase, she/he may often need to stand in long lines at the cash register.
Despite the convenience of Online_Shopping, not everyone chooses to purchase items and
services online. Some people like the idea of physically going to a store and experiencing the shopping
process. Online_Shopping doesn't permit shoppers to touch products or have any social interaction. It
also doesn't allow them to take the merchandise home the same day they buy it.
Online_Shopping allows you to browse through endless possibilities, and even offers
merchandise that's unavailable in stores. If you're searching for a niche product that may not be
distributed locally, you're sure to find what you're looking for on the internet. What's even more useful
is the ability to compare items, similar or not, online. You can search multiple stores at the same time,
comparing material quality, freshness and pricing simultaneously.
Shopping via the internet eliminates the need to shift through a store's products with potential all
slung over one arm. Online_Shopping also eliminates the catchy, yet irritating music, as well as the
hundreds, if not thousands, of other like-minded individuals who seem to have decided to shop on the
same day.
Say 'goodbye' to the days when you stood in line waiting, and waiting, and waiting some more for
a store clerk to finally check out your items. transactions occur instantly-saving you time to get your
other errands done! Additionally, unlike a store, Online_Shopping has friendly customer service
representatives available 24 hours a day, 7 days a week to assist you with locating, purchasing and
shipping your merchandise.
1
Project approach and Functional Requirements:
2
2. About the Organization
Name of the Company: Miracle Corporate Solutions Pvt. Ltd. (Miracle Technologies)
www.miracleindia.com
Miracle Technology are one of the fastest growing software solution, technical consultancy
and knowledge outsourcing company situated in India with offices at NOIDA, Bangalore and USA
(PA). Miracle Technology core areas are security systems, client server technology, web based
applications and security solutions.
Miracle's focus is on defining new modes of knowledge sharing systems to create pool of
experts and skilled resources in the field of IT and cutting edge technologies Application
Development, Software Development Business Analytics ,Web Designing Supply Chain
Management ,Network Infrastructure IT Consulting.
Customize Training, Career Training, Certifications, JOB Oriented Training, E-Learning,
Evaluation, and Non Technical Training, Train The- Trainer Training, Career Planning Seminar,
Professional Workshops and Consultancy on turnkey projects.
Miracle Technologies has the expertise and experience in managing extended teams with
highly complex research groups.
1. Increasing Business Value
2. Reliable Global Partner
Miracle Technologies is established IT consulting and services companies offering wide range
Software solutions that help deliver superior business value. We conceptualize and develop
industry-specific technology solutions that are tailored to our customers requirements. We have
3
successfully undertaken and completed IT engagements for global corporations including Fortune
500 companies in 58countries.We help our customers remain competitive by providing cost-
effective and customized solutions in application development and maintenance, enterprise resource
planning SAP and Oracle. Our domain expertise in focus areas including BFSI, Telecom,
Manufacturing, ISVs and International Organizations enables us to offer business relevant
Solutions. Complementing this domain expertise is our focus on quality. We are committed to
providing consistently high quality delivery .Reliable Global Partner Proven Track Record Focus on
Customer Relationships Flexible Engagement Models Seasoned Team Established Software
Processes Knowledge Building.
SERVICES:
MIRACLE DEVELOPMENT
In Today's rapidly changing environment every organization has to face new standards of
quality assurance, new competition, increasing customer expectations etc. As a result business
enterprises are in constant need of reviewing and reengineering their processes in order to survive
and grow under competitive environment. Therefore our designed application software's can help
you meeting these cut throat competition requirements.
MIRACLE CONSULTANCY
MIRACLE CONSULTANCY SERVICES (mcs) is indeed pleasure to introduce ourselves as
one of the leading agencies in the field of Placement Services from Supervisory Level to Top
Management Level. We have distinguished ourselves by providing excellent and most reliable
services to various industries / establishments/ organizations/ institutions. We provide end to end
human resource services right from recruitment of personnel to development and alignment of their
capabilities to organizational vision.
MIRACLE EDUCATION
MIRACLE is always dedicated to provide quality training to MIRACLE Certified students
and to provide high profile jobs to MIRACLE Certified students through its concern MIRACLE
Consultancy Services. MIRACLE Education is proud to announce the successful completion of its
Summer/Vocational Training Program at STEP, IIT Roorkee, Greater Noida, Gwalior, Jaipur,
Moradabad Ajmer. Over 3000 Students had been provided successful training with project in .NET,
VHDL, Embedded System, Adv. Embedded System, C & C++, Oracle, Autocad, Matlab, Verilog
HDL, Catia, Java, J2EE, J2ME, Linux, Unix, Web Designing and many more in Summer Training
2008.
MIRACLE Objectives
Promote Computer Education & Technology.
Open platform for the development jobs.
Provide World Class Computer Education.
Organize Paper Presentation & Quizes.
Organize Conferences & Seminars.
Collaboration with Other Institutions.
4
3. Technology Used
Java is a high-level, third-generation programming language like C, FORTRAN, Perl and many
others. It is a platform for distributed computing a development and run-time environment that
contains built-in support for the World Wide Web.
History of Java
Java development began at Sun Microsystems in 1991, the same year the World Wide Web was
conceived. Javas creator, James Gosling did not design java for the Internet. His Objective was to
create a common development environment for consumer electronic devices which was easily
portable from one device to another. This effort evolved into a language, code named Oak and later
renamed Java that retains much of the syntax and power of c++, but is simpler and more platform-
independent.
Java Features
Simplicity
Orientation
Platform Independence
Security
High Performance
Multi Threading
Dynamic linking.
Garbage Collection.
One of the most important features of Java is platform independence, which makes it famous
and suitable language for World Wide Web.
The client application or operating system must have a java byte-code interpreter to execute
byte-code instructions. The interpreter is a part of a larger program called the JVM. The JVM
interprets the byte code into native code and is available on platforms that support Java.
5
When the user runs a Java program, it is up to the JVM to load, possibly verify, and then execute
it. The JVM can perform this function from within a browser or any other container program or
directly on top of the operating system.
When a browser invokes the JVM to run a Java program, the JVM does a number of things:
It validates the requested byte-code, verifying that they pass various formatting and security
checks.
It allocates memory for the incoming java class files and guarantees that the security of JVM is
not violated. This is known as the class loader module.
It interprets the byte code instructions found in the class files to execute the program.
Jdbc-Odbc Driver:
This provides a bridge between the Jdbc APIs and the Odbc APIs. The bridge translates the
standard JDBC calls to corresponding ODBC calls, and sends them to the ODBC data source via
ODBC libraries. This configuration requires every client that will run the application to have the
JDBC-ODBC bridge API, the ODBC driver and the native language-level APIs. As a result this
kind of driver is most appropriate on a corporate network where client installations are not a major
problem.
Jdbc database calls are translated into vendor-specific API calls. The database will process the
request & send the result back through the API, which in turn forwards them back to the Jdbc
drivers. The Jdbc driver translates the result to the Jdbc standard & returns them to the Java
application, hence this kind of driver has same problem that was with Jdbc-Odbc driver and is
mostly used in Intranet.
These are true 100% pure java real JDBC drivers. All the mechanism of the client access is
coded completely in java. There are no calls out off or into the virtual machine and native code
and there is no need for some costly server in the middle. Type 4 drivers are different for different
RDBMS and are available for almost all major RDBMS vendors.
6
Pure Java Driver:
This is a platform independent driver as this kind of driver remains on server. This kind of driver
is provided by third party vendor. This middle-ware server is able to connect its java clients to many
different databases. These are really non-drivers. They are front end for database access
servers and connectors. For ex: The proxy driver talks to the middle tier concentrator or access
server. The concentrator or access server in turn uses ODBC (or) vendor specific protocol to talk to
the actual database. The requirement for collaborating middle tier server is often cumbersome and
very expensive too.
Native Driver:
This kind of driver converts JDBC calls into the network protocol used by Database directly.
This allows a direct call from client machine to the Database server.
These are true 100% pure java real JDBC drivers. All the mechanism of the client access is
coded completely in java. There are no calls out off or into the virtual machine and native code and
there is no need for some costly server in the middle. Type 4 drivers are different for different
RDBMS and are available for almost all major RDBMS vendors.
Servlet / JSP are middle-ware technologies which are used in web based projects because they
use:-
Introduction to J2EE:
Sun Microsystems introduced the J2EE application server and the enterprise Java Bean (EJB)
specifications as a venture into the multi-tier component architecture. J2EE functions as a middle
tier server in three tier architectures.
It provides certain specifications that can be used to implement enterprise solutions for certain all
types of business requirements. J2EE also offers cost effective solution for business solution.
J2EE is used for developing, deploying and executing applications in a distributed environment.
The J2EE applications server acts as a platform for implementing various server side technologies
Servlets, Java Server Pages (JSP) and Enterprise Java Bean (EJB). J2EE allows you to focus on
your business logic program. The business logic is coded in java program, which are reusable
component that can be accessed client program EJB runs on J2EE server.
In J2EE security is handled almost entirely by platform and its admin. The developer
does not have to worry about writing the security logic.
J2EE Architecture:
The J2EE server provides the EJB and web containers. The J2EE server enforces
authenticating users. The either service provided by the J2EE server are listed here below.
It allows client to interact with Enterprise Bean.
It enables a web browser to access servlets and JSP files
It provides naming and directory services to enable users and various services to
locate and search for services and components.
The EJB container manages the execution of Enterprise Bean for J2EE server. EJB is a
specification for making server side component that enable and simplifies the task of creating
distributed objects. EJB component provide services such as transaction and security management
and can be customized during deployment.
The web container manages the executing of JSP and servlets for J2EE applications web
components and their container run on the J2EE server. Servlets of the java program that can be
deployed on a java enable web server to enhances and extend the functionality of the web server for
example you can write a servlets to add a manager service to a website.
8
Servlet can also be used to add dynamic content to web pages. Java Server Page (JSP) adds
server side programming functionality to java. JSP consists of regular Html tags representing the
static content and code enclosed within special tags representing the dynamic content. After
compilation, a JSP generates a servlets and therefore incorporates all the servlets functionalities.
J2EE Application:
J2EE applications are complex access data from a variety of source and cater to a variety of
client. To manage these applications the business function conducted in the middle tier. The J2EE
platform acts as a middle tier and provides the necessary environment needed by the application.
The J2EE platform provides write once, run anywhere, portability and scalability for multi-tier
application. It also minimizes complexity for building multi-tier application.
Each of these components is packaged into a file with a specified file format. A J2EE application
client is a Java application that run in a environment that enable it to access to the J2EE services. A
J2EE application client is packaged into a .jar (Java archive) file. The web components are
packaged into a .war (Web archive) file.
An Enterprise Bean consists of three files: the EJB class, Home and Remote Interfaces.
The Enterprise Beans are bundled into an EJB.jar file. The .jar, .war and EJB.jar are assembled into
a J2EE application, which is an .ear file. The .ear file is then deployed to the J2EE server.
The race for market share in the database industry has increased with the advent of client-
server platforms. Oracle is one of the most successful companies that has released a number of
development tools including SQL *PLUS, PL/SQL that enables faster and easier application
development and its management.
Oracle is the robust Database System, it support very large database. Moreover Oracle is widely
used as back end for client / server applications. Administrative tools of Oracle help in securing the
Data / Information.
9
Process of creating a J2EE application:
Enterprise
Bean Component
(.jar (.jar
Assembled
J2EE Application
Server Deployed
(.jar
J2EE
Server
J2EE Technologies:
EJB:
Enterprise Java Beans (EJB) is write once, run anywhere middle tier component consisting of
method that implements the business rule. Enterprise Bean encapsulates the business logic. There
are two types of Enterprise Bean: Entity Bean and Session Bean.
10
RMI:
Remote Method Invocation is defined for the communication of remote objects in the middle
tier of the distribute application. It enables a Java object to communicate remotely with other Java
object.
JDBC:
Java Database Connectivity provides a Database programming API for Java program. A JDBC
API contains a set of classes and Interfaces that are used to connect a database build using any
DBMS or RDBMS. It also submit SQL query to a database and retrieve its and processes the result
of SQL query.
Java Transaction API (JTA) and Java Transaction Service (JTS) are transaction API. One can
use these API to democrat whether the transaction starts or ends.
JMS:
Java Messaging Service is an API that J2EE platform include to send mail via Internet.
Servlet:
Servlets are used to develop a variety of web-based application. They make use of the extensive
power of the Java API such as networking and URL access, multithreading, database connectivity,
internationalization, RMI and object serialization. Java Server Pages (JSP) adds server side
programming functionality to Java. Both Servlet and JSP allow the creation of database driven web
application and have server side programming capability.
XML:
J2EE uses Extensible Markup Language as a Markup language to describe the contents. The
described file created when deploying the J2EE application is an XML file.
11
2. The J2EE Server.
3. The Cloud Scale Server.
4. The Clean-up Script.
5. The Packager Tool.
6. The Realm Tool.
7. The Run Client Script.
8. The Verifier Tool.
The architecture of the J2EE is such that it enforces security in the application. In order to access
the J2EE services, a user need to prove his/her identity. Such users are called J2EE users and
process is called authentication. The J2EE authentication services are different from security of the
operating system. The users of the operating system and the users of the J2EE belong to a different
realm. A realm is a group of users that have the same authentication policy. The users of J2EE
belong to a two different realms that are respectively authentication by certificates and defaults.
J2EE certificate to authenticate a web browser client. In most cases, the J2EE services use the
default realm to authenticate a user. J2EE users may also belong to a group. A group is a collection
of users who have common feature for eg. The user belonging to a group may all belonging to a
group coding same module. Similarly project managers might belong to a different group.
When J2EE application client execute its request that you enter login id and password. If the
combination of both username and password correct the J2EE allow you to access the services. The
J2EE server also enforces security by process known as authentication. Authorization is a process
by which the permissions are assigned by server to invoke the method of Enterprise Bean.
JAVA BEANS
The java beans specification allows software components to be written in java, which
encapsulate the logic behind the web application and remove the bulk of the code that would
otherwise clutter up JSPs. The result is JSP code that is simpler, easier to maintain and which is
more readily accessible to non-programmers.
A bean uses properties to describe internal data that affects how it works and what it shows. In
java the actual bean property data is usually a private or protected field, which can be edited by
publicly available methods. In other words beans allow access to internal data via public get and set
methods. This confirms to object orientation norms, which hide internal data from users and explore
it only through accessor methods. Another aspect of this component is that it should be able to
communicate with other objects or beans. Java beans accomplish this by firing events and listening
to them. A bean that is interested in what happens to an object external to itself can register itself as
a listener for various events in that object. Conversely an external object can register itself to listen
to that bean. This concept is really the key to providing standalone software components.
12
BOUND PROPERTIES:
One way of exporting events is to use bound properties. When a property value changes a bound
property can inform other parts of the application that its value is changed.
BEAN EVENTS:
The property change support class should cater for most of the needs. However on many
occasions beans will still need to communicate even though no property change activity has
occurred.
For a component to be really useful it must be possible to save it and any values it may contain
and reload it to the same state at a later date. No matter how wonderful the component we create it
will not be used much if it has to reset every time it is retrieved. Java beans use the serializable
interface to address these issues.
The serializable interface has no methods to implement. It is simply on indicator to the compiler
that object may be made persistence by serialization. In practice serialization generally means
saving the bean to a file using the object output stream classes. Then to restore the bean to read
from the same file using object input stream. To make java bean to be serializable we need to do is
add the serializable interface in the class declaration.
3.1.(b) JDBC
13
Interaction of JSP Page with JDBC
Client Machine
Web
server
Browser
with
HTML
JSP JDBC
Engine Driver
DB Server Machine
RDBMS
Server
Here the browser using the web application is not required to support java at all. The JSP has
full control over how many JDBC connections are made to the server. The client never makes direct
JDBC connection to the server. This solution can work readily through a firewall, only standard
HTTP is used between the web server and the client.
As a bonus this solution sends itself to easily secured information simply by adding secured
socket layer support to the web server. Because of this separation of the presentation from the
business logic, which is separated from the database logic, this sort of system is often called three
tiers of the system. Although the application server and database server can also running on the
same server machine.
There is still one minor problem with this scenario. Project personal accessing the JSP page
containing the embedded JDBC code can easily and inadvertently modify the database access code
and this may result in an erroneous application or even corrupted database. There are 2 solutions for
this:
14
1. Create java beans or java classes that encapsulate all the JDBC operations. This is
significantly better solution. But instantiation, initialization and parameterization of the java class or
the beans can still represent a significant amount of embedded java code with in the JSP.
2. Create a tag extension set to pushdown all the database access logic. The data access
logic programmers write the set of custom tags. The JSP application logic designers will then use
the set of custom tag to create their application.
JSP Engine
JSPs
Custom tag
Custom Java
extension
beans/classes
3.2 BECK-END
ORACLE 10g
Centralization of database.
Client Server Technology.
Security.
Normalization of Data Base.
Relationship.
Transaction Processor.
It gives some internet related features.
15
Weather you are working on LAN projects or Distributed projects, there are two sides of it:-
Front End
Back End
Front End remains on client side. Front end is made for end user who uses our application.
Basically in front end, our input-output forms reside which takes the input from the client and gives
output back to client.
Database is the most important thing in this universe as database gives identity to a thing. It
provides us with a repository where we can store ample amount of data, at one place. Without a
database, existence of a thing is impossible.
What is a database?
Data Base is a collection of tables and table is a collection of records in a tabular form i.e. in row
and columns format.
RDBMS
DBMS
We will be using RDBMS (Relational Database Management System) in our project i.e. oracle
10.0 Enterprise Edition.
Oracle 10.0 contains all the features of previous version. It also supports some new features &
enhancement to some existing features. Oracle servers provide deficient & effective solution for the
major features.
Oracle supports the largest database potential of hundreds of Giga Bytes in size. To make
efficient use of expensive devices, it allows full control of space usage.
16
It supports large no of concurrent users executing a variety of database applications operation on
the same data. It minimizes data connection & guarantees data concurrency.
Oracle maintains the processing features with a high degree of overall system performance.
Database users dont suffer from slow processing performance.
High Availability
Oracle works 24 hours a day with no downtime or limited database throughput. Normal system
operation such as database backup & partial system failure doesnt interrupt database use.
Controlled Availability
Oracle can selectively control the availability of data at the database level & sub database level.
E.g. an administrator can disallow use of a specific application .Data can be reloaded without
affecting other application.
Oracle adheres to industry accepted standards for the data access language operating system,
user interface & network communication protocols.
Manageable Security
To protect against unauthorized database aspects & users, Oracle provides failsafe security
features to limit & monitor the data area. The system makes it easy to manage even the most
completed designs for data assets.
Oracle enforces data integrity Business rules, that dictate the standards for applicable data. As
a result, the cost of coding & managing checks in many database applications is eliminated.
For community environment that are connected via networks, Oracle combines the data
physically located on different computers in one logical database that can be accessed by all the
network users. Distributed systems have same degree of user transparency & data consistency as
non-distributed systems, yet receive the advantages of local database management.
Portability
Oracle software is compatible to work under different operating system & same on all system.
Applications developed on Oracle can be used on virtually any system with little or no more
modification.
17
Compatibility
Oracle software is compatible with industry standards, including most industry standard
operating systems. Applications developed on Oracle can be used on virtually any system with little
or no modification.
Connectivity
Oracle software allows different types of computers & operating system to share information in
networks.
Improved Scalability
The maximum size of an Oracle database has been increased to support hundreds of terabytes
depending on the operating system on which it resides.
Improved Security
Oracle 10.0 server now includes password management so that a password has a limited lifetime
& must meet certain complexity such as minimum length. An account can be locked after a
specified number of failed login attempts.
A table of index can be divided into smaller pieces called partitions, based on the value of one or
more columns. A table partitions can be individually managed so that operation in one partition does
not affect the availability of data on other partitions. Also insert, update, delete operations against a
partitioned table can be processed partially.
In other words, the Oracle 10 server can assign a portion of the work to execute a single DML
statement to multiple processes, which may then be allocated to multiple processes by the server
operating system. As a result, the parallel DML operations are completed more quickly.
The performance & manageability of database replication has been significantly improved.
By pooling database connection, the Oracle 8 server is able to service a much larger number of
concurrent users, up to 3000, depending on the servers operating system & server hardware
resources.
A new feature of the select statement allows a sub query to be used in place of a table in a from
clause.
Now when we are discussing Database, there is one more thing attached to it, i.e. Data Base
Models
Database Models
There are three kinds of database models:-
In this kind of architecture, database and client application remains on one machine i.e.
there is no client-server technology, there is no centralization of database, and basically it is a stand
alone system.
In this kind of architecture, database and client application is on two different machines i.e.
Database on one machine and the application on another machine. In this type of architecture, the
implementation of client-server technology is done and centralization of data base is there, but it has
two demerits:-
What is Middle-Ware?
19
Because we are working on Distributed Application Based Project we need platform independent
Language like Java
ECLIPSE:-
20
Neon June 2016 4.6 Neon
(planned) projects
4. REQUIREMENT ANALYSIS
The basis for developing candidate system is the identification of need for a new or modified
system. The problem must be known before it can be solved. This leads to preliminary survey or an
initial investigation by the system analyst to determine the requirements of the users and the
organization. It entails looking into the duplication of effort, bottlenecks, or inefficient static nature
of current system or whether parts of the existing system would be candidates for the change.
Thus, during the problem analysis phase, focus of the development team is on the completion of
following three tasks:
It is the objective of the feasibility study at the beginning of the system development process to
examine whether the proposals can be carried out successfully and which option is the best choice
for development.
Estimation of the resources and the schedule for software development efforts requires experience,
access to good information and the courage to commit various quantitative measures.
PROBLEM DEFINITION
To develop a web-based application to improve the service to the customers and merchant which in
turn increases the sales and profit in CLICK2SHOP??"
21
4.2 The Challenge Where to begin:
to achieve greater speed in processing data, better accuracy and improved consistency, faster
information retrieval, integration of business areas, reduced cost and better security. The sources
also vary project proposals originate with department managers, senior executives and systems
analysis. Sometimes the real origin is an outside source, such as a government agency which
stipulates a systems requirements the organisattion must meet. When the request is made, the
first systems activity, the preliminary investigation, begins. The activity has three parts: request
clarification, feasibility study and request approval.
Existing System:
The existing system was an automated system. But It was found to be inefficient in
meeting the growing demands of population .
1. Time Consuming
2. Expensive
3. Needed an agent
4. We have to out for that.
SYSTEM ANALYSIS
1. This system is all about the converting the shopping system from manual to online.
2. Customer can buy products online after login to the site.
3. Administrator is adding product to database.
22
4. Administrator can edit or delete theproducts.
5. After buying and making payment the products are send to address that he has given.
6. Customer can write feedback for the product or services.
7. Admin can see daily sell and feedback given by customer.
8. Administrator is adding the delivery report to the database.
9. Both admin and customer can see the delivery report.
Purpose:
Click2Shoop tries to enhance access to care and improve the continuity and efficiency of services.
Depending on the specific setting and locale, case managers are responsible for a
variety of tasks, ranging from linking clients to services to actually providing intensive shopping and
delivery services themselves
Main objective:
To shop while in the comfort of your own home, without having to step out of the door.
sell at lower rate due to less over head.
provide home delivery free of cost.
No wait to see the products if someone else is taking that.
Scope:
This product has great future scope. Online_Shopping Internet software developed on and for
the Windows and later versions environments and Linux OS. This project also provides security
with the use of Login-id and Password, so that any unauthorized users can not use your account.
The only Authorized that will have proper access authority can access the software.
23
2. Customer can buy products online after login to the site.
3. Administrator is adding product to database.
4. Administrator can edit or delete the products from the database.
5. After buying and making payment the products are send to customers address that he has given.
6. Customer can write feedback for the product or services.
7. Admin can see daily sell and feedback given by customer.
8 Administrator is adding the delivery report to the database.
9.Both admin and customer can see the delivery report.
FEASIBILITY ANALYSIS
Prior to stating whether the system we have to develop is feasible or not we believe that we should
emphasize on what is implied by the word Feasibility. Feasibility is the measure of how
beneficial or practical the development of the system will be to the organization. It is a preliminary
survey for the systems investigation. It aims to provide information to facilitate a later in-depth
investigation.
Types
There are various measures of feasibility that helps to decide whether a particular project is feasible
or not. These measures include
1. Economic Feasibility: An evaluation of development cost weighted against the ultimate income
or benefit derived from the developed system.
2. Technical Feasibility: A study of function, performance and constraints that may affect the
ability to achieve an acceptable system.
3. Operational Feasibility: A study about the operational aspects of the system.
Each of these types will be explained in detail throughout the project report
Operational Feasibility
A proposed system is beneficial only if it can be turned into an information system that will meet
the operational requirements of an organization. A system often fails if it does not fit within existing
operations and if users resist the change.
Another important fact to be regarded is the security control, which is handled by the system. Since
data regarding each Customer and the Organization is confidential, security is a key issue.
24
Information falling into the wrong hands could jeopardize the entire organization. Unlike in semi-
computerized systems
The proposed system offers adequate control to organize our files online and share with the users
and Security of data and information. This is handled by the system providing individuals with
separate login names and passwords.
The new system is user-friendlier, which enables the end-user to complete his/her work efficiently
and accurately with interest. After taking the above fact into consideration we can state the
operating of the proposed system within the organization is feasible.
In this phase of the feasibility study the following two main topics
Technical performance aspect is explained in the technical feasibility report and there is no new
information is needed in this to explain it again, but as for the acceptance within the organization
the following points are important and those are explained according to the topics
Whether the new system affects the current users in the system?
The new proposed system will affect the users in the following areas
Accuracy
Efficiency
Productivity
Robustness
Lesser time consuming
Technical Feasibility
Based on the outline design of the system requirements in terms f inputs, output, Procedures, the
technical issues raised during technical feasibility include:
The system developers task is to view needed capabilities in light of currently available technology.
Our site works hand in hand with high technology. A database has to be maintained in order to
update and backup data whenever required. To create databases we use SQL server. After taking the
above facts into consideration we can state that the new proposed system is technically feasible.
As the software is vary much economically feasible, then it is really important for it to be
technically sound. The software will be build among:
25
Front-End: J2EE/JSP
Logic Development: Servlet
Back-End: Oracle 10g/JDBC
Economical Feasibility
In making recommendations a study of the economics of the proposed system should be made.
Even though finding out the costs of the proposed project is difficult we assume and estimate the
costs and benefits as follows. According to the computerized system we propose, the costs can be
broken down in two categories.
System Security
System security is a vital aspect when it comes to developing a system. The system should ensure
the facility of preventing unauthorized personnel from accessing the information and the data within
the system. The system should provide total protection for each users information so that the
integrity of data is sustained and also prevent hackers from hacking the system.
The proposed system ensures the security and the integrity of data. This is done by providing a
password login system for each authorized users. And for example the System Administrator has
access to all kinds of information. By providing this facility information is properly managed and
information is protected. For example the system administrators day to day tasks are lessened and
easier because he doesnt have to have a constant eye on the system and worry about hackers
hacking the system.
Description of Project
Online_Shopping is the process whereby consumers directly buy and sell goods, services etc.
interactively in real-time without an intermediary service over the internet. Online_Shopping is the
process of buying and selling goods on the Internet. Since the emergence of the World Wide
Web, merchants have sought to sell their products to people who surf the Internet. Shoppers can visit
web stores from the comfort of their homes and shop as they sit in front of the computer.
Consumers buy a variety of items from online stores. In fact, people can purchase just about
anything from companies that provide their products online. Books, household appliances, Tv
and videos, computers, laptops, cameras and mobiles etc are the which people can buy from our
online store.
Model Used:
Iterative Model
An iterative lifecycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software, which can
then be reviewed in order to identify further requirements. This process is then
26
repeated, producing a new version of the software for each cycle of the model. Consider an iterative
lifecycle model which consists of repeating the following four phases in sequence:
A Requirements phase, in which the requirements for the software are gathered and analyzed.
Iteration should eventually result in a requirements phase that produces a complete and final
specification of requirements. - A Design phase, in which a software solution to meet the
requirements is designed. This may be a new design, or an extension of an earlier design.
- An Implementation and Test phase, when the software is coded, integrated and tested.
- A Review phase, in which the software is evaluated, the current requirements are reviewed, and
changes and additions to requirements proposed. For each cycle of the model, a decision has to be
made as to whether the software produced by the cycle will be discarded, or kept as a starting point
for the next cycle (sometimes referred to as incremental prototyping). Eventually a point will be
reached where the requirements are complete and the software can be delivered, or it becomes
impossible to enhance the software as required, and a fresh start has to be made.
The iterative lifecycle model can be likened to producing software by successive
approximation. Drawing an analogy with mathematical methods that use successive approximation
to arrive at a final solution, the benefit of such methods depends on how rapidly they converge on
a solution. The key to successful use of an iterative software development lifecycle is rigorous
validation of requirements, and verification (including testing) of each version of the
software against those requirements within each cycle of the model. The first three phases of the
example iterative model is in fact an abbreviated form of a sequential V or waterfall lifecycle
model. Each cycle of the model produces software that requires testing at the unit level, for software
integration, for system integration and for acceptance. As the software evolves through
successive cycles, tests have to be repeated and extended to verify each version of the software.
Equipment
Research existing electronic shopping technology for effectiveness, ease of use, and security
27
Mar 3 Mar 8: Ajeet Kumar
Database
Apr 4 Apr 7: Ajeet Kumar
Software requirement specification (SRS) is the starting point of the software development
activity. Little importance was given to this phase in the early days of software development. The
emphasis was first on coding and then shifted to design.
As systems grew more complex, it became evident that the goals of the entire system cannot be
easily comprehended. Hence the need for the requirement analysis phase arose. Now, for large
software systems, requirements analysis is perhaps the most difficult activity and also the most error
prone.
Some of the difficulty is due to the scope of this phase. The software project is initiated by the
clients needs. In the beginning these needs are in the minds of various people in the client
organization. The requirement analyst has to identify the requirements by talking to these people
and understanding their needs. In situations where the software is to automate a currently manual
process, most of the needs can be understood by observing the current practice.
The SRS is a means of translating the ideas in the minds of the clients (the input), into formal
document (the output of the requirements phase). Thus, the output of the phase is a set of formally
specified requirements, which hopefully are complete and consistent, while the input has none of
these properties.
28
Maintain customer profile.
The system shall allow user to create profile and set his credential.
The system shall allow user to select the order from the order history.
The system shall display the detailed information about the selected order.
The system shall display the most frequently searched items by the user in the profile.
The system shall allow user to register for newsletters and surveys in the profile.
The system shall provide online help, FAQs customer support, and sitemap options for customer
support.
The system shall allow user to select the support type he wants.
The system shall allow user to enter the customer and product information for the support.
The system shall display the customer support contact numbers on the screen.
The system shall allow user to enter the contact number for support personnel to call.
Email confirmation.
The system shall maintain customer email information as a required part of customer profile.
The system shall send an order confirmation to the user through email.
The system shall display detailed invoice for current order once it is confirmed.
29
The system shall optionally allow user to print the invoice.
The system shall allow user to add/remove products in the shopping cart.
The system shall display different shipping options provided by shipping department.
The system shall enable user to select the shipping method during payment process.
The system shall allow user to enter the order information for tracking.
The system shall display the current tracking information about the order.
Hardware requirement
Software Requirement
This section lists the requirements that are needed to run the system efficiently. The
Operating system needed for the system to run effectively, the interface to run the application, the
Driver for running Java web applications, the integrated development environment to develop the
Application, and the third-party tool used for editing purposes are as follows:
Introduction
System design provides the understandings and procedural details necessary for
implementing the system recommended in the system study. Emphasis is on the translating the
performance requirements into design specifications. The design phase is a transition from a user-
oriented document (System proposal) to a document oriented to the programmers or database
personnel.
System design goes through two phases of development:
a. Logical Design
b. Physical Design
A data flow diagram shows the logical flow of the system. For a system it describes the
input (source), output (destination), database (data stores) and procedures (data flows) all in a
format that meets the users requirement. When analysis prepare the logical system design, they
specify the user needs at a level of detail that virtually determines the information flow into an out
of the system and the required data resources. The logical design also specifies input forms and
screen layouts.
The activities following logical design are the procedure followed in the physical design
e.g., producing programs, software, file and a working system. Design specifications instruct the
user about what the system should do.
32
Output Sources:
Output contents originate from these sources:
Retrieval from a data source.
Transmission from a process or system activity.
Directly from an input source.
The information produced in an output can be presented as
Tabular contents
Graphic format
Using Icons
Output Definition:
The output should be defined in terms of:
Types of outputs
Content-headings, numeric, alphanumeric, etc.,
Format-hardcopy, screen, microfilm, etc.,
Location-local, remote, transmitted, etc.,
Frequency-daily, weekly, hourly, etc.,
Response-immediate with in a period, etc.,
Data items
The name given to each data item should be recorded and its characteristics described clearly in a
standard form:
Whether alphanumeric or numeric
Legitimate and specific range of characteristics
Number of characters
Positions of decimal point, arithmetic design, etc.,
Input Design:
The input design is the link that ties the information system into the users world. Input
specifications describe the manner in which data enters the system for processing. Input design
features can ensure the reliability of the system and produce results from accurate data, or they can
result in the production of erroneous information.
33
SOFTWARE DESIGN
The purpose of this phase is to plan a solution for the problem specified by the requirement
document. This is first step in moving from the problem domain to solution domain. Designing
activity is divided into two parts.
a) System Design
It aims to identify the modules that should be in the system, the
specification of these modules and how they interact with each other to produce the desired result.
b) Detailed Design
The internal goal of each of the modules specified in the system
design is decided
34
DATABASE DESIGN
CODE DESIGN
The process of code is to facilitate the identification and retrieve of items of information.
The code should be simple and easy to understandable. The codes were designed in such a way that
the features such as optimum human oriented use and machine efficiency are unaffected.
For the code to be designed effectively, the following characteristics were also considered while
designing the code.
Uniqueness
Versatility
Stability
Simplicity
Consciousness
The code should be adequate for present and anticipated data processing for machine and human
use. Care was taken to minimize the clerical effort and computer time required to continue
operation.
PROCESS DESIGN
The process can be conceptualized in such a way to keep the methodology of main module
process along with some auxiliary task, which will run concurrently with the main program.
The top-down approach is maintained so as to keep track of the process, which satisfies the
maintenance reliability testing requirements. The concurrency of the data is checked during data
entry, by means of validation check for data in each field.
Design Specification
Data flow diagrams (DFD) was first developed by LARRY CONSTANTINE as way representing
system requirements in a graphical form; this lead to modular design. A DFD describes what data
flow (logical) rather than how they are processed, so it does not depend on hardware, software, data
structure or file organization. It is also known as bubble chart.
A Data Flow Diagrams is a structured analysis and design tool that can be used for flowcharting in
35
place of, or in association with, information-oriented and process-oriented systems flowcharts. A
DFD is a network that describes the flow of data and the processes that change, or transform, data
throughout a system. This network is constructed by using a set of symbols that do not imply a
physical implementation. It has the purpose of clarifying system requirements and identifying major
transformations that will become programs in system design. So it is the starting point of the design
phase that functionality decomposes the requirement specifications down to the lowest level of
detail.
The symbols used to prepare DFD do not imply a physical implementation, a DFD can be
considered to an abstract of the logic of an information-oriented or a process-oriented system flow-
chart. For these reasons DFDs are often referred to as logical data flow diagrams. The four basic
symbols used to construct data flow diagrams are shown below:
These are symbols that represent data flows, data sources, data transformations and data storage.
The points at which data are transformed are represented by enclosed figures, usually circles, which
are called nodes. The principle processes that take place at nodes are
36
DFD FOR ADMIN:-
37
Use Case Model Survey:-
Buyers:
Buyers can visit the site, browse the catalog, purchase items, and give feedback and register
Themselves.
Admin:
Admin manages the Buyer, seller, Employee databases, update the items and categories in the
Catalog and create/delete user accounts.
38
Buyer use-case report
39
ER Diagram:-
40
Activity Diagrams:
User Registration Activity: Initially user is made to fill all mandatory fields filled in registration form.
Once the user clicks submit, the username is verified. If the username is already present, then the user
is again taken back, so that he can change the username. If the username is not present then it checks
for password and remaining mandatory fields. If any of the mandatory field is left empty or filled
incorrect, then the user is informed to enter the correct values. Once all these verifications are
succeeded, then the registration is done.
User is made to enter the username and password. If it is a valid username and password, then the
user is logged in, or else they are asked to re enter the correct values.
41
Item purchase Activity
Buyer Log in and choose the item by browsing the catalog and if he is satisfied then he purchase the
item else he will not. And finally log out.
42
Activity Diagram Representing Purchase of item
43
Activity Diagram Representing Privileged Log in Activity
44
Sequence Diagrams
45
Sequence Diagram to Authenticate privileged users
46
Feedback Sequence Diagram
DataBase Design:-
47
ADMIN TABLE
CUSTOMER TABLE
FEEDBACK TABLE
48
CATEGORY TABLE
Web.xml
</servlet-mapping>
50
<servlet>
<servlet-name>edit_item3</servlet-name>
<servlet-class>edit_item3</servlet-class>
</servlet>
<servlet>
<servlet-name>add_item_detail</servlet-name>
<servlet-class>add_item_detail</servlet-class>
</servlet>
<servlet>
<servlet-name>edit_category</servlet-name>
<servlet-class>edit_category</servlet-class>
</servlet>
<servlet>
<servlet-name>signup</servlet-name>
<servlet-class>signup</servlet-class>
</servlet>
<servlet>
<servlet-name>signin</servlet-name>
<servlet-class>signin</servlet-class>
</servlet>
<servlet>
<servlet-name>buy</servlet-name>
<servlet-class>buy</servlet-class>
</servlet>
<servlet>
<servlet-name>place_order2</servlet-name>
<servlet-class>place_order2</servlet-class>
</servlet>
<servlet>
<servlet-name>place_order2_unreg</servlet-name>
<servlet-class>place_order2_unreg</servlet-class>
</servlet>
<servlet>
<servlet-name>place_order4</servlet-name>
<servlet-class>place_order4</servlet-class>
</servlet>
<servlet>
<servlet-name>place_order4_unreg</servlet-name>
<servlet-class>place_order4_unreg</servlet-class>
</servlet>
<servlet>
<servlet-name>change_pass</servlet-name>
<servlet-class>change_pass</servlet-class>
</servlet>
<servlet>
<servlet-name>update_email</servlet-name>
<servlet-class>update_email</servlet-class>
</servlet>
<servlet>
<servlet-name>account</servlet-name>
<servlet-class>account</servlet-class>
</servlet>
<servlet>
51
<servlet-name>address</servlet-name>
<servlet-class>address</servlet-class>
</servlet>
<servlet>
<servlet-name>edit_category_add_field</servlet-name>
<servlet-class>edit_category_add_field</servlet-class>
</servlet>
<servlet>
<servlet-name>change_password</servlet-name>
<servlet-class>change_password</servlet-class>
</servlet>
<servlet>
<servlet-name>update_email_id</servlet-name>
<servlet-class>update_email_id</servlet-class>
</servlet>
<servlet>
<servlet-name>delete_order</servlet-name>
<servlet-class>delete_order</servlet-class>
</servlet>
<servlet>
<servlet-name>contact_us_unreg</servlet-name>
<servlet-class>contact_us_unreg</servlet-class>
</servlet>
<servlet>
<servlet-name>contact_us</servlet-name>
<servlet-class>contact_us</servlet-class>
</servlet>
<servlet>
<servlet-name>send_mail</servlet-name>
<servlet-class>send_mail</servlet-class>
</servlet>
<servlet>
<servlet-name>feedback</servlet-name>
<servlet-class>feedback</servlet-class>
</servlet>
<servlet>
<servlet-name>feedback_unreg</servlet-name>
<servlet-class>feedback_unreg</servlet-class>
</servlet>
<servlet>
<servlet-name>forgot_password</servlet-name>
<servlet-class>forgot_password</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>edit_item3</servlet-name>
<url-pattern>/edit_item3</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>single_upload_page1</servlet-name>
<servlet-class>single_upload_page1</servlet-class>
</servlet>
<servlet>
<servlet-name>edit_item1</servlet-name>
52
<servlet-class>edit_item1</servlet-class>
</servlet>
<servlet>
<servlet-name>edit_item2</servlet-name>
<servlet-class>edit_item2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>single_upload_page1</servlet-name>
<url-pattern>/single_upload_page1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>category_add</servlet-name>
<servlet-class>category_add</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>category_add</servlet-name>
<url-pattern>/category_add</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>add_item_detail</servlet-name>
<url-pattern>/add_item_detail</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>edit_item1</servlet-name>
<url-pattern>/edit_item1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>edit_item2</servlet-name>
<url-pattern>/edit_item2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>edit_category</servlet-name>
<url-pattern>/edit_category</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>signup</servlet-name>
<url-pattern>/signup</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>signin</servlet-name>
<url-pattern>/signin</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>buy</servlet-name>
<url-pattern>/buy</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>place_order2</servlet-name>
<url-pattern>/place_order2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>place_order2_unreg</servlet-name>
<url-pattern>/place_order2_unreg</url-pattern>
53
</servlet-mapping>
<servlet-mapping>
<servlet-name>place_order4</servlet-name>
<url-pattern>/place_order4</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>place_order4_unreg</servlet-name>
<url-pattern>/place_order4_unreg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>change_pass</servlet-name>
<url-pattern>/change_pass</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>update_email</servlet-name>
<url-pattern>/update_email</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>account</servlet-name>
<url-pattern>/account</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>address</servlet-name>
<url-pattern>/address</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>edit_category_add_field</servlet-name>
<url-pattern>/edit_category_add_field</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>change_password</servlet-name>
<url-pattern>/change_password</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>update_email_id</servlet-name>
<url-pattern>/update_email_id</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>delete_order</servlet-name>
<url-pattern>/delete_order</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>contact_us_unreg</servlet-name>
<url-pattern>/contact_us_unreg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>contact_us</servlet-name>
<url-pattern>/contact_us</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>send_mail</servlet-name>
<url-pattern>/send_mail</url-pattern>
</servlet-mapping>
54
<servlet-mapping>
<servlet-name>feedback</servlet-name>
<url-pattern>/feedback</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>feedback_unreg</servlet-name>
<url-pattern>/feedback_unreg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>forgot_password</servlet-name>
<url-pattern>/forgot_password</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
60
</session-timeout>
</session-config>
</web-app>
CSS
Style.Css
* { padding:0; margin:0; outline:0; }
body {
background:url(../images/b1.jpg);
background-size: 100%;
background-attachment: fixed;
font-family: "Trebuchet MS", Arial, sans-serif;
font-size:12px;
line-height:16px;
color:#636363;
padding-top: 5px;
}
input, textarea, select { font-family: "Trebuchet MS", Arial, sans-serif; font-size:12px; }
a img { border:0; }
h2 { font-size:14px; line-height:16px; }
h3 { font-size:12px; line-height:14px; text-transform: uppercase; color:#000; }
h4 { font-size:12px; line-height:14px; text-transform: uppercase; color:#000; }
#cart { float:right; width:200px; top:0; right:0; height:51px; color:#fff; padding:13px 3px 0 10px;
white-space:nowrap; line-height:20px;}
a.cart-link { color:#fff; background:url(../images/cart-link.gif) no-repeat 0 0; padding:0 0 0 32px;
text-decoration: none;}
a.cart-link:hover { text-decoration: underline;}
#main { padding:10px 0 0 0; }
.search { min-height:252px;}
.search label { display:block; padding-bottom:3px; }
56
.search input.field { width:206px; }
.search select.field { width:212px; }
.search select.small-field { width:50px; }
.categories { min-height:283px; }
.categories ul { list-style-type: none; font-size:13px;}
.categories ul li{ border-bottom:dashed 1px #ccc; padding:5px 0;}
.categories ul li.last{ border-bottom:0; padding-bottom:0;}
.categories ul li a{ color:#5f5f5f; text-decoration: none; background:url(../images/cat.gif) no-repeat
0 4px; padding-left:17px;}
.categories ul li a:hover{ color:#8b0000; }
#slider {
height:252px;
position:relative;
overflow:hidden;
}
#slider-holder { width:720px; height:252px; position:relative; overflow:hidden; }
#slider-holder .jcarousel-clip{ width:720px; height:252px; position:relative; overflow:hidden; }
#slider-holder ul{ width:720px; height:252px; position:relative; overflow:hidden; list-style-type:
none;}
#slider-holder ul li{ width:720px; height:252px; position:relative; overflow:hidden; float:left; }
.products {}
.products ul{ list-style-type: none;}
.products ul li{
position:relative;
padding: 20px 42px;
border:solid 0px #dedede;
float:left;
width:145px;
margin-right:10px;
height:160px;
overflow:hidden;
}
.products ul li.last{ margin-right:0; }
.product-info{
position:absolute;
width:217px;
top:110px;
left:10px;
height: 76px;
57
}
.product-info h3{ background:; color:balck; padding:6px 10px; }
.product-info h4{ font-weight: normal;}
.product-info p{ font-size:16px; line-height:18px; text-transform: uppercase; font-weight: bold;
color:#000; padding:5px 0 7px 0;}
.product-info .product-desc{ padding:10px; background:url(../images/info.png); width:180px; }
58
Admin.jsp
<%--
Document : admin
Created on : Mar 10, 2017, 5:50:41 PM
Author : user
--%>
<%
Connection con=null;
Statement st=null;
ResultSet rs=null;
Statement st1=null;
ResultSet rs1=null;
Statement st2=null;
ResultSet rs2=null;
Statement st3=null;
ResultSet rs3=null;
Statement st4=null;
ResultSet rs4=null;
Statement st5=null;
ResultSet rs5=null;
Statement st6=null;
ResultSet rs6=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection
("jdbc:oracle:thin:@127.0.0.1:1521:xe","eshopping","nolin");
59
st=con.createStatement();
st1=con.createStatement();
st2=con.createStatement();
st3=con.createStatement();
st4=con.createStatement();
st5=con.createStatement();
st6=con.createStatement();
String pending="pending";
rs=st.executeQuery("select * from order_item where status='"+pending+"' order by o_id
asc");
rs3=st3.executeQuery("select * from order_item where status='"+pending+"' order by o_id
asc");
int cnt=0;
while(rs3.next())
cnt++;
rs4=st4.executeQuery("select * from item where AVAILIBILITY='0' order by i_id");
rs5=st5.executeQuery("select * from item where AVAILIBILITY='0' order by i_id");
int cnt1=0;
while(rs5.next())
cnt1++;
%>
<div align="center">
<table width="500" height="35" border="0">
<tr>
<th><p style="color: red; font-size: 15px"><u><b>ITEMS OUT OF STOCK= <
%=cnt1%></b></u></p></th>
</tr>
</table>
60
%>
<tr>
<td height="67" align="center"><%=rs4.getString(1)%></td>
<td align="center"><%=rs4.getString(3)%></td>
<td align="center"><%=rs6.getString(1)%></td>
<td align="center"><%=rs4.getString(5)%></td>
<td align="center"><%=rs4.getString(9)%></td>
<td align="center"><%=rs4.getString(10)%></td>
<td align="center"><%=rs4.getString(11).substring(0, 10)%></td>
<td align="center"><a href="item_details.jsp?i_id=<%=rs4.getString(1)%>&cat=<
%=rs6.getString(1)%>">details</a></td>
<td align="center"><a href="edit_item1.jsp?i_id=<%=rs4.getString(1)%>&cat=<
%=rs6.getString(1)%>">update</a></td>
<td align="center"><a href="#" onclick="dlt(<%=rs4.getString(1)%>,<
%=rs4.getString(4)%>)"><img src="images/close.png" width="27" height="27"/></a></td>
</tr>
<% } %>
</table>
</div>
<br>
<div align="center">
<table width="500" height="35" border="0">
<tr>
<th><p style="color: red; font-size: 15px"><u><b>NO OF ORDERS (PENDING)= <
%=cnt%></b></u></p></th>
</tr>
</table>
61
<%} catch(Exception e){}
finally
{
try{
con.close();
}catch(Exception e){}
}
%>
</table>
</div>
<%@include file="footer.jsp"%>
</div>
<%
if(session.getAttribute("cant_del")=="cant_del")
{
%><script language="javascript">alert("cant delete, item is in the order
table");</script><%
session.removeAttribute("cant_del");
}
%>
</body>
</html>
Add_ Category.JSP
<%--
Document : add_category
Created on : Apr 3, 2017, 7:53:08 PM
Author : user
--%>
62
if(st.length==0)
alert("empty field cant be added");
else
{
var len=st.length;
var i=0;
var st1="";
var ch1=0;
for(i=0;i<len;i++)
{
if(st.charAt(i)==" ")
{
//var ch=st.charAt(i);
if(ch1==0)
{
st1=st1+"";
ch1=0;
}
else
{
st1=st1+"_";
}
}
else
{
st1=st1+st.charAt(i);
ch1=1;
}
}
function load()
{
document.form1.box1.value=null;
document.form1.category.value=null;
}
function load1()
{
var b="";
if(document.form1.category.value=="")
{
b="category cant be empty";
}
if(b.length!=0)
{
63
alert(b);
}
else if(cnt==0)
alert("no columns added");
else
{
document.form1.submit();
}
}
</script>
</head>
<body onload="load()">
<div class="shell">
<div style="min-height: 600px">
<%@include file="header.jsp"%>
<%@include file="drop_down_menu.jsp"%>
<br><br><br><br><br>
<div align="center"><p style="color: red; font-size: 15px"><u><b>ADD
CATEGORY</b></u></p></div>
<br>
</table>
</div>
<div style="padding-left: 500px; padding-top: 60px;" >
<table border="0" style=" width: 40px">
<tr>
<td></td>
<td><div id="div"></div><td>
<td></td>
</tr>
<tr>
<td style=" color: #000000; font-size: 13px">Description</td>
<td><input type="text" name="box1" style=" height: 27px; border:solid 1px
#999999" size="35"></td>
64
<td><input name="btn" type="button" value="Add" style="width: 70px; height:
30px; border:solid 1px #999999; background-color: #990000; color: white; font-size: 14px"
onclick="generateRow()"/></td>
</tr>
</table>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
</div>
<%
if(session.getAttribute("msg")=="already")
{
%><script language="javascript">alert("Table already exist\nor\nInvalid table
name");</script><%
session.removeAttribute("msg");
}
else if(session.getAttribute("msg")=="success")
{
%><script language="javascript">alert("successful");</script><%
session.removeAttribute("msg");
}
else if(session.getAttribute("msg")=="notcreated")
{
%><script language="javascript">alert("table cant be created\nsame field
name/reserved word/empty field cant be used");</script><%
session.removeAttribute("msg");
}
%>
</body>
</html>
Add_Item.JSP
<%--
Document : add_item
Created on : Mar 12, 2017, 2:00:48 PM
Author : user
--%>
function isInteger(s)
{
var i;
s = s.toString();
for (i = 0; i < s.length; i++)
{
var c = s.charAt(i);
if (isNaN(c))
{
alert("Given value is not a number");
return false;
}
}
return true;
}
function check1()
{
var i_name=document.frm1.i_name.value;
var drop1=document.frm1.drop1.value;
var brand="";
if(document.frm1.t2.disabled==true)
brand=document.frm1.drop2.value;
else if(document.frm1.drop2.disabled==true)
brand=document.frm1.t2.value;
var av=document.frm1.av.value;
var F1=document.frm1.F1.value;
var pp=document.frm1.pp.value;
var sp=document.frm1.sp.value;
var discount=document.frm1.discount.value;
var i;
var av1 = av.toString();
66
var pp1 = pp.toString();
var sp1 = sp.toString();
var discount1 = discount.toString();
var ch1=0;
var ch2=0;
var ch3=0;
var ch4=0;
for (i = 0; i < av1.length; i++)
{
var c = av1.charAt(i);
if (isNaN(c))
{
ch1=1;
break;
}
}
for (i = 0; i < pp1.length; i++)
{
var c = pp1.charAt(i);
if (isNaN(c))
{
ch2=1;
break;
}
}
for (i = 0; i < sp1.length; i++)
{
var c = sp1.charAt(i);
if (isNaN(c))
{
ch3=1;
break;
}
}
for (i = 0; i < discount1.length; i++)
{
var c = discount1.charAt(i);
if (isNaN(c))
{
ch4=1;
break;
}
}
if(i_name=="")
{
alert("enter item name");
document.frm1.i_name.focus();
}
else if(drop1=="")
alert("select category");
else if(brand=="" && document.frm1.t2.disabled==true)
alert("select brand");
else if(brand=="" && document.frm1.drop2.disabled==true)
67
{
alert("enter brand");
document.frm1.t2.focus();
}
else if(av=="")
{
alert("enter availibility");
document.frm1.av.focus();
}
else if(ch1==1)
{
alert("enter a valid number in availibility");
document.frm1.av.focus();
}
else if(F1=="")
{
alert("enter image icon");
document.frm1.F1.focus();
}
else if(pp=="")
{
alert("enter purchased price");
document.frm1.pp.focus();
}
else if(ch2==1)
{
alert("enter a valid number in purchased price");
document.frm1.pp.focus();
}
else if(sp=="")
{
alert("enter selling price");
document.frm1.sp.focus();
}
else if(ch3==1)
{
alert("enter a valid number in selling price");
document.frm1.sp.focus();
}
else if(discount=="")
{
alert("enter discount");
document.frm1.discount.focus();
}
else if(discount>100)
{
alert("discount cant be greater than 100");
document.frm1.discount.focus();
}
else if(ch4==1)
{
alert("enter a valid number in discount");
document.frm1.discount.focus();
68
}
else
document.frm1.submit();
}
</script>
</head>
<body>
<%
Connection con=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection
("jdbc:oracle:thin:@127.0.0.1:1521:xe","eshopping","nolin");
Statement st= con.createStatement();
Statement st1= con.createStatement();
ResultSet rs= st.executeQuery("select * from category");
ResultSet rs1= st1.executeQuery("select distinct brand_name from item");
%>
<div class="shell">
<%@include file="header.jsp"%>
<%@include file="drop_down_menu.jsp"%>
<br><br><br><br><br>
<table border="0" style=" margin-left: 210px">
<tr>
<td><p style="color: red; font-size: 15px"><u><b>ADD ITEM
INFORMATION</b></u></p></td>
</tr>
</table>
<br><br>
<div align="center">
<form id="frm1" ENCTYPE="multipart/form-data" name="frm1"
ACTION="../single_upload_page1" METHOD="post">
<table border="0" style=" margin-left: 30px">
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Item name</td>
<td><input type="text" style=" height: 27px; border:solid 1px #999999" size="40"
tabindex="1" name="i_name"></td>
</tr>
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Category
name</td>
<td>
<div style=" width: 160px; height: 30px; border: solid 1px #999999;">
<select name="drop1" STYLE="width: 150px; padding-top: 5px; padding-left: 10px;
border: 0" tabindex="2">
<option value=""> Select Category </option>
<%
while(rs.next())
{
%>
69
<option value="<%=rs.getString("c_id")%>"><%=rs.getString("c_name")
%></option>
<%
}
%>
</select>
</div>
</td>
</tr>
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Brand name</td>
<td>
<div style=" width: 160px; height: 30px; border: solid 1px #999999;">
<select name="drop2" STYLE="width: 150px; padding-top: 5px; padding-left: 10px;
border: 0" tabindex="3">
<option value=""> Select Brand </option>
<%
while(rs1.next())
{
%>
<option value="<%=rs1.getString(1)%>"><%=rs1.getString(1)%></option>
<%
}
%>
</select>
</div>
</td>
</tr>
<%
}catch(SQLException se){}
finally
{
try
{
con.close();
}catch(Exception e){}
}
%>
<tr>
<td><h2></h2></td>
<td><p style=" color: #000000; font-size: 13px">if not exits, create new <input
type="checkbox" tabindex="4" onclick="javascript:check2(this)"> <input type="text"
name="t2" style=" height: 27px; border:solid 1px #999999" size="40" tabindex="5"
disabled="true"></p></td>
</tr>
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Availability</td>
<td style=" color: #000000; font-size: 13px"><input type="text" style=" height: 27px;
border:solid 1px #999999" size="40" tabindex="6" name="av"
onKeyup="isInteger(this.value)"> kilogram</td>
70
</tr>
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Image Icon</td>
<td style=" color: #000000; font-size: 13px">
<INPUT NAME="F1" TYPE="file" size="37" tabindex="7"> Dimension
should be 125*100
</td>
</tr>
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Purchased
price</td>
<td><input type="text" style=" height: 27px; border:solid 1px #999999" size="40"
tabindex="8" name="pp" onKeyup="isInteger(this.value)"></td>
</tr>
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Selling price</td>
<td><input type="text" style=" height: 27px; border:solid 1px #999999" size="40"
tabindex="9" name="sp" onKeyup="isInteger(this.value)"></td>
</tr>
<tr>
<td width="114" height="60" style=" color: #000000; font-size: 14px">Discount</td>
<td style=" color: #000000; font-size: 17px"><input type="text" style=" height: 27px;
border:solid 1px #999999" size="40" tabindex="10" name="discount"
onKeyup="isInteger(this.value)"> %</td>
</tr>
<tr>
<td width="114" height="60" style=" color: #000000"></td>
<td><input name="btn1" type="button" style="width: 80px; height: 30px; border:solid
1px #999999; background-color: #990000; color: white; font-size: 14px" tabindex="11"
value="Submit" onclick="check1()"/></td>
</tr>
</table>
</form>
</div>
<br><br><br><br>
<%@include file="footer.jsp"%>
</div>
<%
if(session.getAttribute("success")=="success")
{
%><script language="javascript">alert("Successfully Added");</script><%
session.removeAttribute("success");
}
else if(session.getAttribute("alrdy")=="alrdy")
{
%><script language="javascript">alert("Item Name Already exist");</script><%
session.removeAttribute("alrdy");
}
%>
</body>
71
</html>
Change_Password.JSP
<%--
Document : change_password
Created on : Apr 26, 2017, 6:18:33 PM
Author : user
--%>
<br><br><br><br><br>
<div align="center"><p style="color: red; font-size: 15px"><u><b>CHANGE
PASSWORD</b></u></p></div>
<br><br><br>
<div align="center">
<table width="400" border="0">
<%
if(session.getAttribute("pass_chng_success")=="pass_chng_success")
{
%><script language="javascript">alert("Password Changed Successfully");</script><
%
session.removeAttribute("pass_chng_success");
}
else if(session.getAttribute("old_pass_mismatch")=="old_pass_mismatch")
{
%><script language="javascript">alert("Incorrect Old Password");</script><%
session.removeAttribute("old_pass_mismatch");
}
%>
</body>
</html>
Admin_Header.JSP
<%--
Document : header
Created on : Mar 10, 2017, 12:30:40 PM
Author : user
--%>
73
<%@page import="java.sql.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
<script type="text/javascript">
function abc()
{ myid=window.setTimeout("showtime()",1000); }
function showtime()
{
d=new Date();
x=d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
document.f1.t1.value=x;
myid=window.setTimeout("showtime()",1000);
}
</script>
</head>
<body onload=abc()>
<%
String a_id1="";
int a_id=0;
try{
a_id1=session.getAttribute("a_id").toString();
a_id=Integer.parseInt(a_id1);
}catch(Exception e)
{
response.sendRedirect("../home_page/home.jsp");
}
Connection con1 = null;
Statement stt;
ResultSet rss;
String email="";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con1 = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "eshopping", "nolin");
stt=con1.createStatement();
74
<div id="header">
<h1 id="c2s"><a href="#"></a></h1>
<h2 id="c2s1"><b>Click2Shop</b></h2>
<div id="cart" style="">
<h2>Welcome Admin</h2>
<form name=f1>
<script type="text/javascript">
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")
</script>
<INPUT size=10 name=t1 style=" color: white; background:url(../images/header.gif); border:
0">
</form>
</div>
</div>
</body>
</html>
Admin_Footer.JSP
<%--
Document : footer
Created on : Mar 10, 2017, 12:36:18 PM
Author : user
--%>
Admin_Feedback.JSP
<%--
75
Document : user_registered
Created on : Apr 29, 2017, 3:46:55 PM
Author : user
--%>
<%
Connection con=null;
Statement st=null;
ResultSet rs=null;
Statement st1=null;
ResultSet rs1=null;
String s_value=request.getParameter("s_value");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection
("jdbc:oracle:thin:@127.0.0.1:1521:xe","eshopping","nolin");
st=con.createStatement();
st1=con.createStatement();
if(s_value==null || s_value=="")
rs=st.executeQuery("select * from feedback order by f_id asc");
else if(s_value.equalsIgnoreCase("solved"))
{
String status="solved";
rs=st.executeQuery( "select * from feedback where status='"+status+"' order by f_id
asc");
}
else if(s_value.equalsIgnoreCase("unsolved"))
76
{
String status="unsolved";
rs=st.executeQuery("select * from feedback where status='"+status+"' order by f_id
asc");
}
%>
<script>
function chng()
{
var s_value= document.frm.srch.value;
window.location.replace("feedback.jsp?s_value="+s_value+"");
}
function ld()
{
document.frm.srch.value="<%=s_value%>";
}
</script>
<div align="center">
<table width="900" height="40" border="0">
<tr>
<th><p style="color: red; font-size: 15px"><u><b>CUSTOMER
FEEDBACK</b></u></p></th>
</tr>
</table>
<form name="frm">
<table border="0" align="right">
<tr>
<td style=" height: 45px">
<div style=" width: 130px; height: 27px; border: solid 1px #999999;">
<select name="srch" STYLE="width: 120px; padding-top: 3px; padding-left: 10px;
border: 0" onchange="chng()">
<option value="">All</option>
<option value="solved">Solved</option>
<option value="unsolved">Unsolved</option>
</select>
</div>
</td>
</tr>
</table>
</form>
<br>
<table width="960" border="0">
<tr>
<th width="30" height="40" scope="col" style="border:solid 2px #dedede; color: #000000">Sl
No.</th>
<th width="50" scope="col" style="border:solid 2px #dedede; color: #000000">Email Id</th>
<th width="100" scope="col" style="border:solid 2px #dedede; color: #000000">Feedback</th>
<th width="35" scope="col" style="border:solid 2px #dedede; color: #000000">Date</th>
77
<th width="45" scope="col" style="border:solid 2px #dedede; color: #000000">Status</th>
<th width="35" scope="col" style="border:solid 2px #dedede; color: #000000">Send Mail</th>
<th width="35" scope="col" style="border:solid 2px #dedede; color: #000000">Delete</th>
</tr>
<% while(rs.next())
{
%>
<tr>
<td height="37" align="center"><%=rs.getString(1)%></td>
<td align="center"><%=rs.getString(3)%></td>
<td align="center"><%=rs.getString(4)%></td>
<td align="center"><%=rs.getString(5).substring(0, 10) %></td>
<td align="center"><%=rs.getString(6)%></td>
<td align="center"><a href="mail.jsp?f_id=<%=rs.getString(1)%>">mail</a></td>
<td align="center"><a href="#" onclick="dlt(<%=rs.getString(1)%>)">delete</a></td>
</tr>
<% } } catch(Exception e){}
finally
{
try{
con.close();
}catch(Exception e){}
} %>
</table>
</div>
</div>
<%@include file="footer.jsp"%>
</div>
<%
if(session.getAttribute("cant_del")=="cant_del")
{
%><script language="javascript">alert("Cant Delete");</script><%
session.removeAttribute("cant_del");
}
%>
</body>
</html>
Logout.JSP
<%--
Document : logout
Created on : Apr 25, 2017, 2:25:34 AM
Author : user
--%>
78
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-
html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
session.removeAttribute("a_id");
session.removeAttribute("i_id");
response.sendRedirect("../home_page/home.jsp");
%>
</body>
</html>
Mail.JSP
<%--
Document : mail
Created on : May 8, 2017, 12:13:33 AM
Author : user
--%>
<%
Connection con=null;
Statement st=null;
ResultSet rs=null;
String f_id=request.getParameter("f_id");
String email_id="";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection
("jdbc:oracle:thin:@127.0.0.1:1521:xe","eshopping","nolin");
st=con.createStatement();
%>
<div align="center">
<table width="850" border="0" >
<tr>
<td height="60" scope="col" style=" color: #000000; font-size: 17px">
<b>Send Mail</b>
</td>
</tr>
</table>
<br>
<div style="border:solid 1px #999999; width: 650px; height: 310px; margin-right: 190px">
<form name="frm" action="../send_mail" method="post">
<input type="hidden" name="mail_id" value="1">
<input type="hidden" name="e_id" value="<%=f_id%>">
<table width="650" border="0" >
80
<tr>
<td height="20"></td>
<td></td>
</tr>
<tr>
<td height="40" style=" color: #000000; font-size:
12px"> To *</td>
<td><input type="text" style=" height: 28px; border:solid 1px #999999" size="65"
name="email" value="<%=email_id.trim()%>" tabindex="1"></td>
</tr>
<tr>
<td height="40" style=" color: #000000; font-size:
12px"> Subject *</td>
<td><input type="text" style=" height: 28px; border:solid 1px #999999" size="65"
name="subject" tabindex="1"></td>
</tr>
<tr>
<td height="40" style=" color: #000000; font-size:
12px"> Body *</td>
<td><textarea style=" width: 335px; height: 140px; border:solid 1px #999999"
name="body" tabindex="3"></textarea></td>
</tr>
<tr>
<td height="50"></td>
<td><input type="button" name="btn1" onclick="nxt()" value="Send" style="width:
80px; height: 32px; background-color: #990000; color: white"></td>
</tr>
</table>
</form>
</div>
</div>
</div>
<%@include file="footer.jsp"%>
<%
if(session.getAttribute("msg_sent")=="msg_sent")
{
%><script language="javascript">alert("Message Successfully Sent");</script><%
session.removeAttribute("msg_sent");
}
else if(session.getAttribute("msg_sent_fail")=="msg_sent_fail")
{
%><script language="javascript">alert("Internet access failed....");</script><%
session.removeAttribute("msg_sent_fail");
}
%>
</body>
</html>
Java Class
81
Address. Java
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
String cus_id1=session.getAttribute("cus_id").toString();
int cus_id=Integer.parseInt(cus_id1);
String pincode= req.getParameter("pincode");
String address= req.getParameter("address");
String city= req.getParameter("city");
String state= req.getParameter("state");
Connection con=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","eshopping","no
lin");
}catch(Exception e){}
finally
{
try{
con.close();}catch(Exception e){}
}
}
}
Signin. Java
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
82
public class signin extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
HttpSession session=req.getSession(true);
String email= req.getParameter("email").trim();
String pass= req.getParameter("password");
Connection con=null;
Statement st;
ResultSet rs;
Statement st1;
ResultSet rs1;
String cus_id="";
String a_id="";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","eshopping","no
lin");
st=con.createStatement();
st1=con.createStatement();
int i=0;
while(rs1.next())
{
if(rs1.getString(2).equals(email) && rs1.getString(3).equals(pass))
{
i=1;
a_id=rs1.getString("a_id");
break;
}
}
if(i==1)
{
session.setAttribute("a_id", a_id);
res.sendRedirect("admin/admin.jsp");
}
else
{
int j=0;
while(rs.next())
{
if(rs.getString(2).equals(email) && rs.getString(3).equals(pass))
{
j=1;
cus_id=rs.getString("cus_id");
83
break;
}
}
if(j==1)
{
session.setAttribute("cus_id", cus_id);
res.sendRedirect("customer/home.jsp");
}
else
{
session.setAttribute("loginfail", "loginfail");
res.sendRedirect("home_page/home.jsp");
}
}
}catch(Exception e){}
finally
{
try{
con.close();}catch(Exception e){}
}
}
}
Signup. Java
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
Connection con=null;
Statement st;
ResultSet rs;
Statement st1;
ResultSet rs1;
Statement st2;
ResultSet rs2;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","eshopping","no
lin");
st= con.createStatement();
84
st1=con.createStatement();
st2=con.createStatement();
int i=0;
while(rs1.next())
{
if(rs1.getString(1).equals(email))
{
i=1;
break;
}
}
if(i==1)
{
session.setAttribute("logupfail", "logupfail");
res.sendRedirect("home_page/home.jsp");
}
else
{
int k=0;
while(rs2.next())
{
if(rs2.getString(1).equals(email))
{
k=1;
break;
}
}
if(k==1)
{
session.setAttribute("logupfail", "logupfail");
res.sendRedirect("home_page/home.jsp");
}
else
{
PreparedStatement ps=con.prepareStatement("insert into
customer(CUS_ID,EMAIL_ID,PASSWORD) values(?,?,?)");
ps.setInt(1,j);
ps.setString(2, email);
ps.setString(3, pass);
ps.executeQuery();
85
res.sendRedirect("home_page/home.jsp");
}
}
}catch(Exception e){}
finally
{
try{
con.close();}catch(Exception e){}
}
}
}
Slider.JSP
<%--
Document : slider
Created on : Mar 10, 2017, 5:30:17 PM
Author : user
--%>
Update_Item.JSP
86
<%--
Document : update_cart_item_no
Created on : Apr 17, 2017, 1:21:44 AM
Author : user
--%>
<%@page import="java.util.*"%>
<%@page contentType="text/html" import="java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-
html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
String p_id=request.getParameter("p_id");
String i_id=request.getParameter("i_id");
String quantity=request.getParameter("quantity");
ArrayList al1=(ArrayList) session.getAttribute("cart");
int i=0;
for(i=0;i<al1.size();i++)
{
if(al1.get(i).toString().equals(i_id))
{
break;
}
}
i=i+1;
al1.remove(i);
al1.add(i,quantity);
session.setAttribute("cart",al1);
if(p_id.equals("1"))
response.sendRedirect("buy.jsp");
else if(p_id.equals("2"))
response.sendRedirect("place_order3.jsp");
%>
</body></html>
88
Sign In
Sign Up
89
About Us
Contact Us
90
Feedback
Item buy
91
Shopping Cart
Email Login
92
Shipping Address
Order Summary
93
Mode Of Payment
Place Order
94
Admin_Home
Dispatched Order
95
Add Item Information
Add Category
96
Admin Check Feedback
Change Password
97
7. Testing and Implementation
Testing Phase
The basic goal of the software development process is to produce software that has no errors or very
few errors. In an effort to detect errors soon after they are introduced, each phase ends with
verification activity such as a review. As testing is the last phase before the final software is
delivered, it has the enormous responsibility of detecting any type of error that may in the software.
A software typically undergoes changes even after it has been delivered. And to validate that a
change has not affected some old functionality of software regression testing is performed
Levels of Testing:
The basic levels of testing are unit testing, integration testing and system and acceptance testing.
These different levels of testing attempt to detect different types of faults.
Code/Unit Testing:
Code testing and implementation is a critical process that can even consume more than sixty percent
of the development time.
Testing:
The system development life cycle involves the phases of testing and debugging after the
requirement analysis, designing and coding. The project in question was tested , debugged and
implemented successfully.
Two strategies of software testing adopted for the new system are as follows:
1. Code testing
2. Specification testing
Code testing:
Code testing was carried out to see the correctness of the logic involved and the correctness of the
modules. Tests were conducted based upon sample and live data as well. All the modules are
checked separately for assuming correctness and accuracy in all the calculations.
98
Specification testing:
It examines the specification stating about what program should do and how it performs under
various conditions. This testing strategy is better strategy since it focuses on the way the software is
expected to work.
Unit Testing:
During the phase of unit testing different constituent modules were testing against the
specifications produced during the design for the modules. Unit testing is essentially for the
verification of the code produced during the coding the phase, and goal is to test the internal logic
of the modules. The modules once tested were then considered for integration and use by others.
During this phase of the testing phase SDLC, server developed was tested while considering a valid
value corresponding to each of variable defined and corresponding to each function defined. During
this phase values corresponding to each variable viz. URL filtering, word filtering and scheduling
was done and desired results were obtained.
This phase of testing deals with input/output testing. Black box testing was performed on the
software developed, corresponding to valid inputs provided desired outputs were obtained.
Integration Testing:
The next level testing that was performed is often referred to as integration testing. During this
phase many unit tested modules were combined into subsystems, which were then tested. The goal
here was to see if modules can be integrated properly. Here the emphasis was on testing interfaces
between different constituent modules of system.
Functionality Testing:
Here the entire software system was tested. The reference document for this process is the
requirements document, and the goal was to see if software solution meets its requirements. This
level of testing is essentially a validation exercise, and in many situation it is the only validation
activity.
99
Stress Testing:
Proxy server developed for the specified purpose was testing under heavy load, i.e. a large no. of
clients were made to sit in lab and were asked to send requests for logging in and then were asked to
request for text on internet. System responded to request as desired.
Acceptance Testing:
Acceptance was performed in the real environment with realistic data of the client to demonstrate if
the software developed is working satisfactorily. Here the main focus was on the external behavior
of the system; the internal logic of the program was not emphasized.
The primary objective of test case design is to derive a set of tests that have the highest likelihood
of uncovering errors in software. The test case specification is the major activity in the testing
process. Careful selection of test cases that satisfy the criterion on approach specified is essential for
proper testing. Various characteristics of test cases that are required for portal are:
2. Project Details like Ticket Status, Country Dropdowns, States Dropdowns, telephone and
unique E-Mail Ids etc.
100
Test plan
Testing commences with a test plan and terminates with acceptance testing. A test plan is a general
document for the entire project that defines the scope, approach to be taken and schedule of testing
as well as identifies the test item for the entire testing process and the personnel responsible for the
different activities of testing.
Overview of Testing
1. Testing: Testing involves executing the program (or part of it) using sample data and inferring
from the output whether the software performs correctly or not. This can be done either during
module development (unit testing) or when several modules are combined (system testing).
2. Defect Testing: Defect testing is testing for situation where the program does not meet its
functional specification. Performance testing tests a system's performance or reliability under
realistic loads. This may go some way to ensuring that the program meets its non-functional
requirements.
Test Planning
Testing needs to be planned, to be cost and time effective. Planning is setting out standards for tests.
Test plans set out the context in which individual engineers can place their own work. Typical test
plan contains:
101
Overview of testing process
1. Requirements trace ability (to ensure that all requirements are tested)
3. Schedule
6. Constraints
TEST PLAN
Overview of Testing StrategiesLarge systems are usually tested using a mixture of strategies.
Different strategies may be needed for different parts of the system or stages of the process.
1. Top-down testing: This approach tests high levels of system before detailed components. This is
appropriate when developing the system top-down and is likely to show up structural design errors
early (and therefore cheaply). But this often has advantage that a limited, working system is
available early on. Validation (as distinct from verification) can begin early. Its disadvantage is that
stubs need to be generated (extra effort) and might be impracticable if component is complex (e.g.
converting an array into a linked list; unrealistic to generate random list; therefore end up
implementing unit anyway). Test output may be difficult to observe (needs creation of artificial
102
environment). This is not appropriate for OO systems (except within a class).
2. Bottom-up testing: This is opposite of top-down testing. This tests low-level units then works
up the hierarchy. Its advantages and disadvantages mirror those of top-down testing. In this testing
there is need to write test drivers for each unit. These are as reusable as the unit itself. Combining
top-down development with bottom-up testing means that all parts of system must be implemented
before testing can begin, which does not accord with incremental approach discussed above.
Bottom-up testing is less likely to reveal architectural faults early on. However, bottom-up testing
of critical low-level components is almost always necessary. Appropriate for OO systems.
3. Stress testing: Tests system's ability to cope with a specified load (e.g. transactions per
second). Tests should be planned to increase load incrementally. This type of testing goes beyond
design limit until system fails (this test is particularly important for distributed systems like
checking degradation of performance a s network traffic increases).
4. Back-to-back testing: Comparison of test results from different versions of the system (e.g.
compare with prototype, previous version or different configuration). Process Run first system,
saving test case results. Run second system, again saving its results. Compare result files. The key
point to be noted is that no difference does not mean no bugs. Both systems may have made the
same mistake.
5. Defect testing: A successful defect test is a test that causes the system to behave incorrectly.
Defect testing is not intended to show that a program meets its specification. If tests do not show up
defects it may mean that the tests are not exhaustive enough. Exhaustive testing is not always
practically applicable. Subset has to be defined (this should be part of the test plan, not left to the
individual programmer).
There are three approaches to defect testing. Each one suits different types of component. Studies
show that black box testing is more effective in discovering faults than white-box testing. However,
the rate of fault detection (faults detected per unit time) was similar for each approach. Also showed
that static code reviewing is more effective and less expensive than defect testing.
103
will count how many times each statement is executed. At the end, a print out report shows which
statements had executed and which had not been executed.
Implementation:
Implementation is the stage in the project where the theoretical design is turned into the working
system and is giving confidence to the new system for the users i.e. will work efficiently and
effectively. It involves careful planning, investigation of the current system and its constraints on
implementation, design of method to achieve the change over, an evaluation, of change over
methods. A part from planning major task of preparing the implementation is education of users.
The more complex system is implemented, the more involved will be the system analysis and
design effort required just for implementation. An implementation coordinating committee based on
policies of individual organization has been appointed. The implementation process begins with
preparing a plan for the implementation for the system. According to this plan, the activities are to
be carried out, discussions may regarding the equipment has to be acquired to implement the new
system
The major elements of implementation plan are test plan, training plan, equipment installation plan,
and a conversion plan.
Successful implementation may not guarantee improvement in the organization using the new
system, but improper installation will prevent it. It has been observed that even the best system
cannot show good result if the analysts managing the implementation do not attend to every
important detail. This is an area where the systems analysts need to work with utmost care.
Implementation Tools:
1. Training personnel
2. Conversion Procedures
3. Post-implementation review
104
Training of Personnel involved with system
Even well designed system can succeed or fail because of the way they are operated and used.
Therefore, the quality of training received by the personal involved with the system in various
capacities helps or hinders and may even prevent the successful implementation of management
information system.
Running of the system successfully depend on the personnel working in the Computer Centre. They
are Responsible for providing the necessary support. Their training must ensure that they are able to
handle all possible operations, both routine and extra-ordinary in nature.
If the system calls for the installation of new equipment, such as new computer system, special
terminals or different data entry machines, the operators training should include such fundamentals
as how to turn the equipment on and use it, how to power off and a knowledge of what constitutes
normal operations. The operators should also be trained on different type of malfunctioning, how to
recognize them and what steps should also be taken whenever they arise.
User Training
User may be trained on use equipment, particularly in the case where, e.g. a micro computer is in
use and individual involved is both operator and user. In such cases, user must be given training on
how to operate and user. In such cases, user must be given training on how to operator the system
also. Questions that may be trivial to the analyst, such as how to turn on a terminal, how to insert a
diskette into a micro-computer or when it is safe to turn off equipment without danger of data loss
are significant problems to new users who are not familiar.
In most of the cases user training deals with the operation of the system itself, with proper attention
given to data handling techniques. It is imperative that users be properly trained in methods of
entering transaction, editing data, formulating inquiries, deleting and inserting of records. No
training is complete without familiarizing users with simple systems maintenance activities.
Weakness in any aspect of training may lead of awkward situation that creates user frustration and
error.
After the system is implemented and conversion is complete, a review should be conducted to
determine whether the system is meeting expectations and where improvements are needed. A post
implementation review measures the systems performance against predefined requirement. It
determines how well the system continues to meet the performance specifications.
105
8. Conclusions, Limitation and Future Scope
8.1. CONCLUSIONS
The main objective of the application is to help computer science students understand the
basics of Java, JavaScript, and HTML. By browsing through the application and looking at the
code for each graphical interpretation, students should be able to easily understand the
implementation. The following results have been achieved after the completing the system and
relate back to the systems objective.
1. Should allow computer science students to browse through the code and application:
This is achieved when users, i.e., computer science students, are able to run and install the
application. When they run the application, they can browse through the implementation of
different objects.
2. Should allow users to browse through different product categories: This is achieved
when the user first runs the application and is directed to a home page that has categories
available for all the different item types that can be purchased with this online shopping-cart
Application. The user can browse and click on any category to view the items listed for that
particular category.
3. Should allow users to save items to the cart and also to view detailed information about
a particular item: The users can add any number of items to the shopping cart from any of
the listed categories by simply clicking the cart icon at the right-hand corner of each item.
Users can view a detailed description of the item and price by clicking on the more icon next
to the cart icon.
4. Should allow users to check out the items: This is achieved when users click the checkout
button in the shopping cart. The checkout button disappears when there are no items in the
shopping cart. This implies that users can only click the checkout button when there are items
in the shopping cart.
5. System users should be able to place the order by filling out the order form: This is
achieved when a user clicks the checkout button and an order form appears on the same page,
showing the detailed order total with shipping charges and sales tax, which requires the user
to complete all the information to successfully place an order. The user is not able to place an
order if any information on the form is invalid or empty.
6. The user should see a success message after placing an order: This is achieved when a
user successfully places an order by completely filling in all the rows after which he or she
can click the place-order button. The user receives a message that the order has been
successfully placed.
106
8.2. Limitations
Since, every system has some limitations so our proposed system is also not untouchable in
this regard. Although it includes every kind of features, but it cant be used in a huge organization
where number of networks are very large, because the database used in this system is an average
one. Also it doesnt have different kind of access feature for different users.
Though it was planned for this system to be absolutely perfect but everything as such has
some limitations, so does the System. Following may be the drawback in this system.
Though this system is developed as a multi user system but it is not a real time system.
The interaction with the database, every time they are loaded thus the system tends to be a bit
slow.
Delivery timecustomers dont have the immediate satisfaction of receiving the product when
they buy it since they have to wait for it to be delivered.
Shipping charges- customers usually have to pay shipping charges, which may increase the overall
cost of what they are purchasing.
Shipped returns-Returns can be more of a hassle in online shopping because consumers have to
pack up the product, ship it back, and wait for the seller to receive and process the return before
consumers can get their product exchanged or refunded.
Security concerns- it can be difficult to tell whether the website is secure or not. If the site is not
secure or is fraudulent online consumers can potentially open their self up to identity theft.
Privacy concerns- if a site doesnt have a comprehensive privacy policy, it is impossible for
consumers to know who has access to their information, and whether their information is protected
Or shared with third parties. Information sharing could lead to spam, or even identity theft.
More chances for mistakes in ordering the wrong item, slightly higher exposure of credit card
Security
Verification of credit card owner less rigorous (physically one can ask for other identifications).
107
8.3. Futur Scope
The following section discusses the work that will be implemented with future releases of
the software.
1. Detailed categories: Future work could involve adding more categories which are more
detailed and have additional items.
2. Bread /Milk List: Work can add a Bread list or Milk list so that users can add an item to a
list to watch for item prices to go down or to see when there is a sale on any of those items.
3. Enhanced User Interface: Work on enhancing the user interface by adding more user
interactive features.
4. Recommended Items: Add a bar that would display the most-recommended items which
would depend on the number of times an item has been purchased by any users.
5. Payment Options: Add different payment options, such as Visa, MasterCard, PayPal, etc.,
where a user can also save the card information for later checkouts.
6. Shipping Options: Add different types of shipping options: regular shipping, expedited
shipping, international shipping, etc.
7. Recent History: Display the users recently browsed items in the recent-history tab.
108
9.REFERENCES
http://www.sun.com
http://www.coreservlets.com
http://www.serverside.com
http://www.w3schools.com
http://www.google.com
http://www.webopedia.com
http://www.ddj.com
http://www.javatpoint.com
Bosnjak, M., Galesic, M. and Tuten, T., Personality determinants of online shopping: Explaining
online purchase intentions using a hierarchical approach, Journal of Business Research 60(3),
2007, 597605
BIBILIOGRAPHY
BOOKS
109
10. Appendix A
Data base is the most important thing in this universe as data base gives identity to a thing without
data base existence of a thing is impossible while working on a project first step is to design a
database.
1. RDBMS.
2. DBMS.
We will be using RDBMS (Relational Database Management System) in our project i.e. oracle 8i
Enterprise edition.
Why we are using Oracle (RDBMS)?
Hence because of these features we are using Oracle as a back end technology.
Oracle 10g contains all the features of previous version. It also supports some new features &
enhancement to some existing features. Oracle servers provide deficient & effective solution for the
major features.
110
Large Database & Space Management Control
Many Concurrent Database Performances
High Transaction Processing Performance
High Availability
Controlled Availability
Industry Accepted Standards
Manageable Security
Database Enforced Integrity
Distributed Database System
Portability
Compatibility
Connectivity
Improved Scalability
Improved Security
Improved Performance via Partition
Enhanced Support for Database Replication
Capability to Handle a Much Larger Number of Concurrent Users
New & Improved Data Types
What is JAVASCRIPT?
JavaScript is a compact, object-based scripting language. It can provide interactive web
pages, validate from data, and make your web page clearer. JavaScript is a lightweight interpreted
scripting language. The language is most well known for its use in wesites.It was originally
developed by Brendan Each of Netscape Communications. It adds interactive functions to HTML
pages, which are otherwise static. JavaScript is easier to use than Java, but not as powerful and
deals mainly with the elements on the Web page. On the client, JavaScript is maintained as source
code embedded into an HTML page. On the Server, it is compiled into byte code (intermediate
language), similar o Java programs.
Features of JavaScript:-
Functions of JavaScript:-
JavaScript gives you the ability to perform the following functions:
Control document appearance and content
Control the browser
Interact with document content
Interact with the user
111
Read and write client state with cookies
Interact with applets
Manipulate Embedded Images
Limitations of JavaScript:-
What is CSS
CSS is an acronym stands for Cascading Style Sheets. It is a style sheet language which is used to
describe the look and formatting of a document written in markup language. It provides an
additional feature to HTML. It is generally used with HTML to change the style of web pages and
user interfaces. It can also be used with any kind of XML documents including plain XML, SVG
and XUL.
CSS is used along with HTML and JavaScript in most websites to create user interfaces for web
applications and user interfaces for many mobile applications.
Before CSS, tags like font, color, background style, element alignments, border and size had to be
repeated on every web page. This was a very long process. For example: If you are developing a
large website where fonts and color information are added on every single page, it will be become a
long and expensive process. CSS was created to solve this problem. It was a W3C recommendation.
CSS provides more detailed attributes than plain HTML to define the look and feel of the website.
112