This document describes a mini project report submitted by four students - Abdul Rasheed, Abhishek Rao G, Devansh Koolwal, and Mohammed Faiz - at Dayananda Sagar University for their Bachelor of Computer Applications program. The project involved developing a private web browser called WeBrowser that aims to provide fast browsing without saving history or cache memory. It was developed using Java and implemented features like browsing multiple sites simultaneously in a split screen. The document outlines the importance, applications, scope, requirements and implementation of the WeBrowser private browser.
Project report - Web Browser in Java by Devansh Koolwal
1. DAYANANDA SAGAR UNIVERSITY
DEPARTMENT OF BACHELOR OF COMPUTER APPLICATIONS
SCHOOL OF ENGINEERING
DAYANANDA SAGAR UNIVERSITY
KUDLU GATE
BANGALORE - 560068
MINI PROJECT REPORT
ON
“WeBrowser – Private Browser”
SUBMITTED TO THE III SEMESTER
ANALYSIS AND DESIGN OF ALGORITHMS
LABORATORY-2019
IN
BACHELOR OF COMPUTER APPLICATIONS
Submitted by
ABDUL RASHEED-(ENG18CA0002)
ABHISHEK RAO G(ENG18CA0005)
DEVANSH KOOLWAL-(ENG18CA0014)
MOHAMMED FAIZ-(ENG18CA0026)
Under the supervision of
Prof. NANDINI K
2. DAYANANDA SAGAR UNIVERSITY
School of Engineering, Kudlu Gate, Bangalore-560068
CERTIFICATE
This is to certify that Mr./Ms DEVANSH KOOLWAL bearing USN ENG18CA0014
has satisfactorily completed his/her Mini Project as prescribed by the University
for the 3rd
semester, Bachelor of Computer Applications during the year 2019 at
the School of Engineering, Dayananda Sagar University., Bangalore.
Date:
Signature of the faculty in-charge
Max Marks Marks Obtained
Signature of Chairman
Department of Bachelor of Computer Applications
3. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020
ACKNOWLEDGEMENT
The satisfaction that accompanies the successful completion of task would be incomplete without the
mention of the people who made it possible and whose constant guidance and encouragement crown all the
efforts with success.
We are especially thankful to our Chairman, Dr. M K Banga, for providing necessary departmental facilities,
moral support and encouragement.
We are very much thankful for providing help and suggestions in completion of this mini project
successfully.
We have received a great deal of guidance and co-operation from our friends and we wish to thank all that
have directly or indirectly helped us in the successful completion of this project work.
ABDUL RASHEED-(ENG18CA0002)
ABHISHEK RAO G-(ENG18CA0005)
DEVANSH KOOLWAL-(ENG18CA0014)
MOHAMMED FAIZ-(ENG18CA0026)
4. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020
DECLARATION
We hereby declare that the work presented in this mini project entiltled- “WeBrowser - Private Browser “,
has been carried out by us and it has not been submitted for the award of any degree, diploma or the mini
project of any other college or university.
ABDUL RASHEED-(ENG18CA0002)
ABHISHEK RAO G-(ENG18CA0005)
DEVANSH KOOLWAL-(ENG18CA0014)
MOHAMMED FAIZ-(ENG18CA0026)
5. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020
ABSTRACT
This project is aimed to develop a Web Browser. Using this software, companies and users can improve the
efficiency of their services. This web Browser involves all the features of the good Browses like TOR.
In a normal web browser the user used to browse in single full screen and switches over tabs for browsing
to browse two different pages also normal browser are personalized based upon the search engines and
regular browser are less interactive. Our proposed browser can be used to browse multiple sites in a single
screen that is in split mode.
6. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020
TABLE OF CONTENTS
S NO. TOPIC PAGE
NO.
1. INTRODUCTION
1.1 IMPORTANCE OF THE TOPIC
1.2 WHERE IT IS USED? ITS APPLICATIONS
1.3 SCOPE
1.4 OVERALL DESCRIPTION
1.4.1 PRODUCT PERSPECTIVE
1.4.2 USER CHARCTERSTICS
1.4.3 PRINCIPAL ACTOR
1.4.4 GENERAL CONSTRAINTS
1.4.5 ASSUMPTIONS AND DEPENDENCIES
1
2. PROBLEM STATEMENT 3
3. TECHNOLOGY USED
3.1 FEATURES OF JAVA
4
4. SYSTEM REQUIREMENTS
4.1 SOFTWARE REQUIREMENTS
4.2 HARDWARE REQUIREMENTS
7
5. METHODOLOGY 9
6. IMPLEMENTATION
6.1 HOME.JAVA
6.2 WEBROWSER.JAVA
6.3 GMAIL.JAVA
6.4 YOUTUBE.JAVA
10
7. RESULTS
7.1 HOME.JAVA
7.2 WEBROWSER.JAVA
7.3 GMAIL.JAVA
7.4 YOUTUBE.JAVA
21
8. CONCLUSION 24
9. REFRENCES 25
7. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 1
CHAPTER 1
INTRODUCTION
A web browser is a software application for retrieving, presenting and traversing information
resources on the world wide web. The www or commonly known as w3 is a system of interlinked hypertext
documents accessed via the internet with a web browser, one can view web page that may contain text,
image, videos and other multimedia and navigate between them via hyperlinks.
The existing browsers use synchronous communication with the server in order to get the requested
pages. When the page is refreshed the whole page is loaded again from the server which is time consuming
moreover increases the network traffic and server load. Also, this refresh operation creates white page outs
in the web pages due to which the user cannot interact until the whole page is loaded again.
1.1 IMPORTANCE OF THE TOPIC
Browser which are generally used by the all of are getting slower day by day and it takes lot of
space in the memory and save history and also save cache memory, but in our browser we are providing
user fast browsing and our browser is small in in size it will not take too much space in the memory and it
will not save any history and any cache memory, it will help in fast browsing.
1.2 WHERE IT IS USED? IT’S APPLICATIONS
Our browse can be used by everyone in their pc or in their laptops. Our browse will provide fast
browsing and it will not take much space in the memory it is very light browser and our browser will not
save history and cache memory and the location of the user is not traceable.
1.3 SCOPE
The browser’s main functionality is to present the web resource you choose, by requesting it
from the server and displaying it on the browser window. It helps retrieve the information from its vast
reservoir viz. internet. It allows collaborators in remote sites to share their ideas and all aspects of a
common project. Browser progressively renders the page onto the screen as specified by its HTML,
8. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 2
Cascading Style Sheets (CSS), or other page composition languages. Any images and other resources are
incorporated to produce the on-screen web page that the user sees. Browser provide common tools enabling
users to interact with remote servers in secure fashion.
1.4 OVERALL DESCRIPTION
A web browser (commonly referred to as a browser) is a software application for accessing
information on the World Wide Web. When a user requests a particular website, the web browser retrieves
the necessary content from a web server and then displays the resulting web page on the user's device.
1.4.1 PRODUCT PERSPECTIVE
The web browser developed here performs the following. When you type a web page address
such as www.wikipedia.org into your browser, that web page in its entirety is not actually stored on a server
ready and waiting to be delivered. In fact each web page that you request is individually created in response
to your request. The web page is searched and then displayed on your screen.
1.4.2 USER CHARACTERISTICS
The user is expected to have basic computational knowledge. He must be able to communicate
well in English. He must know how to operate a computer and it basic input/output devices.
1.4.3 PRINCIPAL ACTORS
The principal actor in the browser is the user only.
1.4.4 GENERAL CONSTRAINTS
The browser may sometimes give unintelligible responses due to the limitation of its languages
supported. The browser can display only plain HTML files.
1.4.5 ASSUMPTIONS AND DEPENDENCIES
Here we assume that the person who is using the browser knows well how to operate a
computer and also how to work on internet. We also assume that the internet connection is available.
9. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 3
CHAPTER 2
PROBLEM STATEMENT
As the internet is growing very fast everything is on the internet, it is accessable to everyone it
can be used by anyone. Internet makes things very simple and easy with every good things bad things
comes with them, it is used for may scams and frauds by accessing the user information and their location,
all the information is get saved is in the browser and its can be accessible by any good hacker and it
becomes a security threat to the users And The web browsers should communicate with the server
asynchronously i.e., when the user requests for a page, the user should be able to interact with the web page
while the browser loads the page from the server.
When the page is refreshed, there should be no white page outs and only some part of the web
page is updated dynamically instead of loading the whole page again. Partial updation of a web page
reduces network traffic and improves the operationality of the applications as that of desktop
applications.Our vision is to make the browser safe and fast for the user and provide the user high speed
browsing on the browser.
10. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 4
CHAPTER 3
TECHNOLOGY USED
Java is a programming language originally developed by James Gosling at Sun Microsystems and
released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of
its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications
are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of
computer architecture. Java is a general-purpose, concurrent, classbased, object-oriented language that is
specifically designed to have as few implementation dependencies as possible. It is intended to let
application developers "write once, run anywhere". Java is currently one of the most popular programming
languages in use, and is widely used from application software to web applications.
3.1 FEATURES OF JAVA
Platform Independent:
The concept of Write-once-run-anywhere (known as the Platform independent) is one of the
important key feature of java language that makes java as the most powerful language. Not even a single
language is idle to this feature but java is more closer to this feature. The programs written on one
platform can run on any platform provided the platform must have the JVM.
Simple:
There are various features that makes the java as a simple language. Programs are easy to write
and debug because java does not use the pointers explicitly. It is much harder to write the java programs
that can crash the system but we can not say about the other programming languages. Java provides the
bug free system due to the strong memory management. It also has the automatic memory allocation and
deallocation system.
Object Oriented:
To be an Object Oriented language, any language must follow at least the four characteristics.
Inheritance :
It is the process of creating the new classes and using the behavior of the existing classes by
extending them just to reuse the existing code and adding the additional features as needed.
11. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 5
Encapsulation:
It is the mechanism of combining the information and providing the abstraction.
Polymorphism:
As the name suggest one name multiple form, Polymorphism is the way of providing the different
functionality by the functions having the same name based on the signatures of the methods.
Dynamic binding :
Sometimes we don't have the knowledge of objects about their specific types while writing our
code. It is the way of providing the maximum functionality to a program about the specific type at
runtime.
Robust:
Java has the strong memory allocation and automatic garbage collection mechanism. It provides
the powerful exception handling and type checking mechanism as compare to other programming languages.
Compiler checks the program whether there any error and interpreter checks any run time error and makes
the system secure from crash. All of the above features makes the java language robust.
Distributed:
The widely used protocols like HTTP and FTP are developed in java. Internet programmers can
call functions on these protocols and can get access the files from any remote machine on the internet
rather than writing codes on their local system.
Portable:
The feature Write-once-run-anywhere makes the java language portable provided that the system
must have interpreter for the JVM. Java also have the standard data size irrespective of operating system
or the processor. These features makes the java as a portable language.
Dynamic:
While executing the java program the user can get the required files dynamically from a local
drive or from a computer thousands of miles away from the user just by connecting with the Internet.
Secure:
Java does not use memory pointers explicitly. All the programs in java are run under an area
known as the sand box. Security manager determines the accessibility options of a class like reading and
writing a file to the local disk. Java uses the public key encryption system to allow the java applications
12. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 6
to transmit over the internet in the secure encrypted form. The bytecode Verifier checks the classes after
loading.
Performance:
Java uses native code usage, and lightweight process called threads. In the beginning
interpretation of bytecode resulted the performance slow but the advance version of JVM uses the
adaptive and just in time compilation technique that improves the performance.
Multithreaded:
As we all know several features of Java like Secure, Robust, Portable, dynamic etc; you will be
more delighted to know another feature of Java which is Multithreaded. Java is also a Multithreaded
programming language. Multithreading means a single program having different threads executing
independently at the same time. Multiple threads execute instructions according to the program code in a
process or a program. Multithreading works the similar way as multiple processes run on one computer.
Multithreading programming is a very interesting concept in Java. In multithreaded programs not even a
single thread disturbs the execution of other thread. Threads are obtained from the pool of available ready
to run threads and they run on the system CPUs. This is how Multithreading works in Java which you
will soon come to know in details in later chapters.
Interpreted:
We all know that Java is an interpreted language as well. With an interpreted language such as
Java, programs run directly from the source code. The interpreter program reads the source code and
translates it on the fly into computations. Thus, Java as an interpreted language depends on an interpreter
program. The versatility of being platform independent makes Java to outshine from other languages.
The source code to be written and distributed is platform independent. Another advantage of Java as an
interpreted language is its error debugging quality. Due to this any error occurring in the program gets
traced. This is how it is different to work with Java.
13. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 7
CHAPTER 4
SYSTEM REQUIREMENTS
A System Requirements Specification (SRS) (also known as a Software Requirements
Specification) is a document or set of documentation that describes the features and behaviour of a system
or software application. It includes a variety of elements that attempts to define the intended functionality
required by the customer to satisfy their different users. In addition to specifying how the system should
behave, the specification also defines at a high-level the main business processes that will be supported,
what simplifying assumptions have been made and what key performance parameters will need to be met
by the system.
4.1 SOFTWARE REQUIREMENTS
The software requirements are description of features and functionalities of the target system.
Requirements convey the expectations of users from the software product. The requirements can be obvious
or hidden, known or unknown, expected or unexpected from client’s point of view.
It defines how the intended software will interact with hardware, external interfaces, speed of operation,
response time of system, portability of software across various platforms, maintainability, speed of recovery
after crashing, Security, Quality, Limitations etc.
The software requirements in our program are:
Programming language: JAVA.
1. Compiler: JAVAC
2. Operating System: Windows.
4.2 HARDWARE REQUIREMENTS
There are hardware requirements, also known as system requirements, for every OS we are going
to use. These requirements include the minimum processor speed, memory, and disk space required to
install Windows. In almost all cases, you will want to make sure that your hardware exceeds these
14. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 8
requirements to provide adequate performance for the services and applications running on the server. The
table below outlines the minimum hardware requirements to execute this project.
1. Processor: Any 3rd Gen+ Intel Processor or even a 1st gen AMD processor.
2. RAM: Since here it was done on VM Ware Workstation 15, It might require minimum of
4GB of RAM if it was just done on Ubuntu then 2GB of RAM.
3. Graphics: Minimal.
15. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 9
CHAPTER 5
METHODOLOGY
Fig no. 5.1 Working of WebBrowser
A browser is a software application used to locate, retrieve and display content on the World Wide Web,
including Web pages, images, video and other files. As a client/server model, the browser is the client run
on a computer that contacts the Web server and requests information. The Web server sends the information
back to the Web browser which displays the results on the computer or other Internet-enabled device that
supports a browser.
Today’s browsers are fully-functional software suites that can interpret and display HTML Web pages,
applications, JavaScript, AJAX and other content hosted on Web servers. Many browsers offer plug-ins
which extend the capabilities of the software so it can display multimedia information (including sound and
video), or the browser can be used to perform tasks such as videoconferencing, to design web pages or add
anti-phishing filters and other security features to the browser.
Your Browser
connects the server
and requests a page
Your server sends
back the requested
page
Server Machine
running a Web Server
Your machine
running a web
browser
16. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 10
CHAPTER 6
IMPLEMENTATION
CODE:
6.1 HOME.JAVA
package webrowser;
import webrowser.WeBrowser;
import static webrowser.HOME.main;
import webrowser.gmail;
import webrowser.youtube;
public class HOME extends javax.swing.JFrame {
public HOME() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
26. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 20
public class youtube {
public static void main(String[] args) {
// TODO code application logic here
final JFrame frame=new JFrame();
//frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(1800,700);
final JFXPanel fxpanel=new JFXPanel();
frame.add(fxpanel);
Platform.runLater(new Runnable() {
@Override
public void run() {
//throw new UnsupportedOperationException("Not supported yet."); //To change body
of generated methods, choose Tools | Templates.
WebEngine engine;
WebView wv=new WebView();
engine=wv.getEngine();
fxpanel.setScene(new Scene(wv));
engine.load("https://www.youtube.com");
}
});
frame.setVisible(true);
}
static void main() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of
generated methods, choose Tools | Templates.
}
}
27. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 21
CHAPTER 7
RESULTS
7.1 HOME.JAVA
Fig no. 7.1 Home Page
This is our home page of Browser containing 3 shortcuts of
1. Youtube
2. Google
3. G-Mail
28. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 22
7.2 WEBROWSER.JAVA
Fig no. 7.2 Search Engine Page
This is our search engine page. We used google as a search engine as shown in Fig 7.2
7.3 YOUTUBE.JAVA
Fig no. 7.3 YouTube Page
29. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 23
This is our YouTube page as shown in Fig 7.3
7.4 GMAIL.JAVA
Fig no. 7.4 Gmail Page
This is our G-Mail Page as shown in Fig 7.4
30. WeBrowser - PRIVATE BROWSER
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
DSU, BCA Dept. 2019-2020 24
CHAPTER 8
CONCLUSION
A web browser opens a connection to a web server based on the URL entered by the user. The URL
specifies the protocol to use, typically http for web servers. The last entry in the URL includes the directory
and file names that the browser is looking for. Web Browsers are of different kinds but all are used to
search what we want from web, the browsers differ from each and every one, the action they perform was
same. Some browsers above are more effective compared to others.
During this experiment, I tested 10 browsers to see which one is the fastest during this experiment. I
learned how to measure browser speed.
My results from my experiment proved my hypothesis right Problems that may have affected my
experiment is that too many people may be on YouTube when it I tested Internet Explorer, since it took
5 seconds to load.
Another discovery that was made is that not all pages load at the same time. Because I think that I did
everything correctly and the results were pretty accurate, the experiment went very well.