1)Servlet Technology: It is considered as the foundation of web technologies. It overcomes the limitations of CGI technology. It is a server side component to serve the clients and to generate dynamic content. Servlets interacts with web clients using the paradigm ‘request-response’. All client requests are sent through web servers to the servlet container. The servelt then process the request and sends the response back to the client. Servlets are reliable, scalable, efficient and reusable server side components.
2) JSP Technology: It is the extension of servlet technology. It is easy to author JSP without much knowledge of the supporting API. JSP can be used to work with HTTP requests and HTTP responses, session management and so on. It is easy to combine both static and dynamic content with JSP. The factor to develop JSP technology is to use regular HTML tags. The JSP author can place servlet or simple java code in the page by using special designated tags. The entire JSP will be translated into Servlet and the servlet related code is communicated to container to run.
3) EJB Technology: EJB is a server-side web component. It depends on other Java technologies for proper functionality such as Remote Method Invocation. RMI is used as a protocol between 2 enterprise beans and between an enterprise bean and its client. EJB encapsulates the business logic. All EJBs are developed, deployed and run only in an EJB container. This is similar to servlets and JSP run in a web container.
EJB applications are easy to develop because the applications developer can concentrate on business logic. The developer can utilize the services provided by the EJB container, like connection pooling and transactions.