Inter Servlet Communication
As the name comes in mind i.e Inter Servlet Communication , one can understand it as it is communication between two or more servlets. Servlets talk to each other. There are many ways by which Servlets can communicate, some of them are mentioned as follows:
As the name comes in mind i.e Inter Servlet Communication , one can understand it as it is communication between two or more servlets. Servlets talk to each other. There are many ways by which Servlets can communicate, some of them are mentioned as follows:
§ Request Dispatching
§ HTTP Redirect
§ Servlet Chaining
§ HTTP request (using sockets or the
URLConnection class)
§ Shared session, request,
or application objects (beans)
§ Direct method invocation (deprecated)
§ Shared static or instance variables
(deprecated)
Basically interServlet communication can be
acheived through servlet channing..
As shown above, we are given 3 servlets ,
output of Servlet 1 act as input to servet 2 similarly , output of Servlet 2
act as input to Servlet 3 .This process is called Servlet
Chaining.Many servets can communicate to each other using same URL.
Servlet can use HTTP request rather than direct calls.One Servlet can call
other servlet by sending an Http request by opening same url connection. The Output from the last Servlet is sent back to the browser. To
understand in more better form below diagram is given.
·
How do JSP page communicate with Server
Step1:- Design JSP page
Step2:-Select the
items
Step3:-Click on Add To Cart and the values will get
on servlet as shown
·
Camparison of JSP and Servlet on basis of
Performance
JSP
PAGE
|
SERVLET
|
Here, we can experience a delay
When JSP page is accessed first time.
|
Here, no delay is experienced
|
It
undergoes a translation phase where
Jsp
page is converted into servlet by
JSP
engine.
|
Once, servlet is loaded in
the memory
It follows the life cycle for
request processing.
|
Jsp Page
Servlet
Servlet Mapping
This mapping is specified with the help of
servlet name in web.xml file, we can map servlet class with url pattern. In
web.xml we have two child tags <servlet-name> and <url-pattern>.<servlet-name> specifies the name of the servlet, which is
called for incoming URL pattern matching by giving values in<url-pattern> element Every<servlet> element
have two child elements - <servlet-name> and<servlet-class>. Servlet name and
url pattern should be same as shown.
Location where web.xml is stored
Web xml
is made in webapps àWEB-INF
à web.xml(save here).
As per the folders shown above we can
save our files accordingly like html file in META-INF and similarly jsp
page as well as css files, images in images folder similarly scripts.Any
program we want to make can be stored in classes the compiled from there.
Implicit Mapping
Servet can contain JSP(.jsp) extensions we map
jsp page to servlet with the help of servlet engine and jsp page is converted
into servlet this is called Implicit Mapping. Servlet Mapping and Implicit
Mapping are different as in servlet mapping we use url pattern for mapping of
servlet whereas here in implicit mapping its automatic i.e jsp pg is converted
into servlet with the help of servlet engine
Defination: Servlet Chaining
This topic has been included in J2EE(Java to Enterprise Edition
i.e Advance Java) Here as discussed earlier, output of one servlet act as
a input to another servlet and at last request is sent to the browser and final
output is achieved. Servlet allows us to invoke more than one servlet in
sequence when the URL is opened with a common servlet.the process continues as
follows-
·
Two Ways to Chain Servlets
In
Servlets/JSPs, there are two ways to achieve servlet chaining using
RequestDispatcher:
RequestDispatcher is used to dispatch the request URL to execute another servlet in servlet chaining. Process goes on this way that first servlet directly dispatch the request to execute another servlet by dispatching URL. There are two methods:
request.include()
and request.forward()
The
above methods are used to dispatch the request for another servlet execution.
In this process, client or browser not involved in request dispatching..Here,
all servers are executing in same server and client is not participating in
dispatching thus servlet chaining is
fast. In this process we cannot communicate with multiple servers. We can use
either of the method.
RequestDispatcher
rd=new RequestDispatcher();
rd.forward(/”index.jsp”);
or
RequestDispatcher
rd=new RequestDispatcher();
rd.include(/”servletTwo.jsp”);
pls send me the source code
ReplyDelete