Updates
  • Starting New Weekday Batch for Java Full Stack Developer on 29th April 2024 @ 02:00 PM to 04:00 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 06th May 2024 @ 04:00 PM to 06:00 PM
  • Starting New Weekend Batch for Java Full Stack Developer on 12th May 2024 @ 11:00 AM to 02:00 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 27th May 2024 @ 10:00 AM to 12:00 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 10th June 2024 @ 07:00 PM to 08:30 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 24th June 2024 @ 02:00 PM to 04:00 PM

Servlets

• Servlets are web technologies that are used to develop web applications and are provided by Sun MicroSystems.
• A web application is a type of application in which the whole application is on a server machine and the client access the application using a browser.
• To develop web applications, you need to develop client-side components as well as server-side components.
• Client-side components can be developed using HTML, JSP, XHTML, etc.
• Server-side components can be developed using servlets, JSP, filters, etc.

When you hit the browser with some URL, the first request will be given to the DNS server. In DNS, the server domain will be the resolved IP address and request will be sent to the server where the application is running.
Once the server receives the request, it processes the request and sends the response to the client.
Servers identify the client's IP address from the HTTP request.

Servlets Version:

1. Servlets 2.2 is released under J2EE1.2
2. Servlets 2.3 is released under J2EE1.3
3. Servlets 2.4 is released under J2EE1.4
4. Servlets 2.5 is released under JEE5
5. Servlets 3.0 is released under JEE6
6. Servlets 3.1 is released under JEE7

Types of Applications:

1. Standalone Applications
2. Client-Server Applications
3. Web Applications
4. Distributed Applications
5. Enterprise Applications

1. Standalone Applications
Applications that can be accessed by a single user at a time are called "standalone applications".
Ex: MS-Word, Music Player, etc.

• Standalone applications can be implemented using C, C++, Java, etc.4

Problems:

a. Applications have to be installed on all the machines. This may require maintenance when you change application features.
b. Data sharing is not possible.

2. Client-Server Applications :
In the case of client-server applications, the application can be divided into two parts. One part will be installed on the server machine and other parts will be installed on multiple client machines.
Ex: Yahoo Messenger Talk, etc.

• Client-server applications can be implemented using C, C++, Java, etc.
• Data sharing is possible.

Problems:

Client software has to be installed on all the machines. This may require maintenance when you change client’s software features.

3. Web Applications :
To solve the problem with client-server applications, web-based applications are introduced, which are run on the WWW.
In the case of web applications, application software will be installed only on the web server machine.
i.e., multiple clients can access the centralised web server using any web browser.
Ex: jtcindia.org, gmail.com, etc.

• Web applications can be implemented using Servlets, JSP, Struts, JSF, etc.
• Data sharing is possible.
• There will be no maintenance problem because modifications will happen only on the web server.

4. Distributed application:
Distributed applications are a current trend in companies that allow business partners to share information among them.

5. Enterprise Applications:
An enterprise application is the term used to describe applications or software that a business would use to assist the organisation in solving enterprise problems. When the word "enterprise" is combined with "application," it usually refers to a software platform that is too large and complex for individual or small business use.
Enterprise applications are typically designed to interface with or integrate with other enterprise applications used within the organisation and to be deployed across a variety of networks (the Internet, intranet, and corporate networks) while meeting strict requirements for security and administration management.

If you want to develop a web application, it can be of two types:

• Static Web Application
• Dynamic Web Application

Static Web Application
In this type of application, the view will be the same for all clients, and clients cannot interact with the application by sending some data to the server for processing.

Dynamic Web Application:
In this type of application, the client can send the data to the server, and that data will be processed, depending on the Processing the response will be given to the client, so the view of the application will vary from client to client.
Servlets can be used for developing dynamic web applications.
Servlets are server-side components that receive the request from the browser, process the request, and send the Response to the Browser.

General Technical Terms:

1. Web Server
2. Web Client
3. Web Container
4. Http
5. TCP/IP
6. DNS
7. Web Application
8. Web Technologies
9. Web Frameworks
10. HTML

Web Server: A web server is an application that receives HTTP requests from web clients and processes them request with the help of a web container and sends the response to the web client.
Ex: Apache Server, PWS (ASP), IIS

Web Client: A web client is an application that sends an HTTP request to the web server and receives the response from a Web server.
Ex: IE, Opera, Mozilla, etc.

Web Container: A web container is an application that is responsible for managing the complete lifecycle of a servlet or JSP.

Web Container offers the following free services:

1. Low Level Services
a. IO Streams
b. Threads
c. Networking

2. Middle Level Services
a. Resource Management
b. Lifecycle Management
c. Declarative Security Management
d. JSP Lifecycle support

Note: As a developer, you have to write the code only for high-level services (business operations) of an application that you are developing.

Http (Hyper Text Transfer Protocol): Http sits on top of TCP/IP for transferring information from a web client to a web server and from a web server to a web client.

TCP/IP: Original data transfer will happen through TCP/IP.
IP (Internet Protocol) is responsible for carrying data from one place to another.
TCP (Transport Control Protocol) sits on top of IP and monitors the data transmission.

DNS: The Domain Name Server is a registry where domain names will be bound to IP addresses.

Web Technologies: Servlets, JSP

Web Frameworks: Struts, JSF, SpringMVC etc.