Java Servlet
|
The Java Servlet API allows a software developer to add dynamic content to a web server using the Java platform. The generated content is commonly HTML, but may be other data such as XML. Servlets are the Java counterpart to dynamic web content technologies such as CGI or ASP. It has the ability to maintain state after many server transactions. This is done using HTTP Cookies, session variables or URL rewriting.
The Servlet API defines the expected interactions of a web container and a servlet. A web container is essentially the component of a web server that interacts with the servlets. The web container is responsible for mapping a URL to a particular servlet and ensuring that the URL requester has the correct access rights.
A servlet is an object that receives requests and generates a response based on the request. The API defines HTTP subclasses of the generic servlet requests and responses as well as an HTTP session object that tracks multiple requests and responses between the web server and a client. Servlets may be packaged as a Web application.
Moreover, servlets can be generated automatically by Java Server Pages (JSP), or alternately by template engines such as WebMacro. Often servlets are used in conjunction with JSPs in a pattern called "Model 2", which is a flavor of the Model/View/Controller pattern.
Contents |
Web containers
A Web container is a computer program that runs Web applications. Web containers are also sometimes called Web engines. Like the other Java APIs, different vendors provide their own implementation. Below is a list of some of the free and commercial web containers. (Note that 'free' means that commercial use is free. Some of the commercial containers, e.g. Resin and Orion, make ideal development containers and are also free to use in a server environment for non-profit organizations).
Non-commercial web containers
- Java System Application Server is developed by Sun.
- Jakarta Tomcat is an open source web container available free of charge under the Apache Software License. It is used in the official reference implementation and has a reputation for being stable.
- Jetty
- Java Mini Daemon contains a higher abstraction than servlets.
- Enhydra [1] (http://www.enhydra.org)
- jo! [2] (http://www.tagtraum.com)
Commercial web containers
- Caucho's Resin Server [3] (http://www.caucho.com)
- BEA WebLogic Server or Weblogic Express [4] (http://www.bea.com/products/servers_application.shtml)
- Borland Enterprise Server [5] (http://www.borland.com/bes/appserver)
- Oracle Application Server [6] (http://technet.oracle.com/products/ias/content.html)
- IBM's WebSphere
- iPlanet Sun/Netscape [7] (http://www.iplanet.com)
- IronFlare Orion Application Server [8] (http://orionserver.com)
Commercial open source containers
External links
- Sun's servlet tutorial (http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html)
- Sun's servlet product description (http://java.sun.com/products/servlet)
- Java Documentation of the API (http://java.sun.com/products/servlet/2.3/javadoc/index.html)
- Javapedia (http://wiki.java.net/bin/view/Javapedia/WebHome)bg:Сървлет