A web application is a dynamic extension of a web or application server. There are two types of web applications:
Presentation-oriented: A presentation-oriented web application generates interactive web pages containing various types of markup language (HTML, XML, and so on) and dynamic content in response to requests.
Service-oriented: A service-oriented web application implements the endpoint of a web service. Presentation-oriented applications are often clients of service-oriented web applications.
The interaction between a web client and a web application.
1. The client sends an HTTP request to the web server.
2. A web server that implements Java Servlet and JavaServer Pages technology converts the request into an HTTPServletRequest object
3. This object is delivered to a web component, which can interact with JavaBeans components or a database to generate dynamic content.
4. The web component can then generate an HTTP ServletResponse or it can pass the request to another web component
5. Eventually a web component generates a HTTPServletResponse object.
6. The web server converts this object to an HTTP response and returns it to the client.
What are Servlets?
Servlets are Java programming language classes that dynamically process requests and construct responses.
What are JSP Pages?
JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content.
What does a Web Container do?
A web container provides services such as request dispatching, security, concurrency, and life-cycle management. It also gives web components access to APIs such as naming, transactions, and email.
The process for creating, deploying, and executing a web application can be summarized as follows:
1. Develop the web component code.
2. Develop the web application deployment descriptor
3. Compile the web application components and helper classes referenced by the components.
4. Optionally package the application into a deployable unit.
5. Deploy the application into a web container.
6. Access a URL that references the web application