简体   繁体   中英

Are servlets the only way to write a Java Web Application

servlet是用Java编写Web应用程序的唯一方法吗?

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.

That servlets are most convenient way to write Web apps in Java is arguable. They certainly have been around for a long time, but there are alternatives; take a look at restlets for example: http://www.restlet.org/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM