Servlets是编写Java Web应用程序的唯一方式吗?

4
Servlets是Java编写Web应用程序的唯一方式吗?

1
+1 听起来是一个有效的问题! - KMån
2个回答

11

不,Servlets只是使用Java编写Web应用程序的最便捷方式。如果你想一下:什么是Web应用程序?非常简单,它是一个可以接收HTTP请求并发送HTTP响应的应用程序。实现这一目标的常见模型包括:

  1. 使用某种包装器为每个请求调用脚本。这是第一个模型,有一个名为CGI(通用网关接口)的标准。在这种情况下,包装器是Web服务器;或者
  2. 在这样的包装器中具有可服务HTTP请求的持久代码(而不像CGI脚本那样短暂)。

还有其他变化(例如(1)的FastCGI)。Servlets是(2)的一个例子。99%的Java Web应用程序和框架使用servlets的原因是servlets是标准的(它们有由Sun认可的规范和参考实现),并且它们如此低级,以至于几乎可以在它们之上构建任何你想要的东西。


0

关于Servlet是否是编写Java Web应用程序最方便的方式存在争议。它们确实已经存在了很长一段时间,但也有其他选择;例如,请看Restlet: http://www.restlet.org/


1
它们是建立在Servlet API之上的,这又归结为一个问题:“Servlets是唯一的方式吗?” - BalusC
哦,直到你提到它,我才没有听说过Restlet。 - Anand Sunderraman
这里有一个Restlet的简介:http://www.restlet.org/about/introduction。最初的实现确实是“在顶部”。但目前不是了。 - David Soroko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接