The typical application flow is as follows:
1. A Web client requests a URL in the browser
(input page).
2. The request is routed to the Web server over
the Internet.
3. The Web server immediately passes the
request to the Web server plug-in. All requests go to the Web server plug-in
first.
4. The Web server plug-in examines the URL,
verifies the list of host name aliases from which it will accept traffic based
on the virtual host information, and chooses a server to handle the request.
5. A stream is created. A stream is a
connection to the Web container. It is possible to maintain a connection
(stream) over a number of requests. The Web container receives the request and,
based on the URL, dispatches it to the proper servlet.
6. If the servlet class is not loaded, the
dynamic class loader loads the servlet (servlet init(),
then doGet() or doPost()).
7. JNDI is used for lookup of either
datasources or EJBs required by the servlet.
8. Depending upon whether a datasource is
specified or an EJB is requested, the JNDI directs the servlet:
– To the corresponding database and gets a
connection from its connection pool in the case of a data source.
– To the corresponding EJB container, which
then instantiates the EJB when an EJB is requested.
9. If the EJB request involves an SQL
transaction, it goes back to the JNDI to look up the datasource.
10. The SQL statement is executed and the
retrieved data is sent back either to the servlet or to the EJB.
11. Data beans are created and handed off to
JSPs in the case of EJBs.
12. The servlet sends data to JSPs.
13. The JSP generates the HTML that is sent
back through the plug-in to the Web server.
14. The Web server sends the output page (output
HTML) to the browser.
Comments
Post a Comment