Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are servlets the only way to write a Java Web Application

Tags:

java

servlets

Are servlets the only way one can write web applications in Java ?

like image 987
Anand Sunderraman Avatar asked Dec 23 '22 06:12

Anand Sunderraman


1 Answers

No. Servlets are just the most convenient way to write a Web application in Java. If you think about it: what is a Web application? Quite simply it is an application that can receive an HTTP request and send back an HTTP response. Common models for achieving this are:

  1. To use some kind of wrapper that invokes a script for each request. This was the first model and has a standard called CGI (Common Gateway Interface). The wrapper in this case is a Web server; or
  2. To have persistent code within such a wrapper that can service HTTP requests (rather than being transient like CGI scripts).

There are variations upon this theme (eg FastCGI for (1)). Servlets are an example of (2). The reason 99% of all Java Web applications and frameworks use servlets is because servlets are standard (they have a specification endorsed by Sun and a reference implementation) and they're so low-level that pretty much whatever you want can be built on top of them.

like image 106
cletus Avatar answered Feb 23 '23 22:02

cletus