ruby 的 rack 或 python 的 wsgi for Java 的等价物是什么?还有一个路由库。
2 回答
来自 Python 标准 PEP 333:
相比之下,尽管 Java 有同样多的 Web 应用程序框架可用,但Java 的“servlet”API使得使用任何 Java Web 应用程序框架编写的应用程序可以在任何支持 servlet API 的 Web 服务器上运行。
http://www.python.org/dev/peps/pep-0333/#rationale-and-goals
简短的回答
Servlets相当于 ruby 的 rack 或 python 的 wsgi 在 Java 中。
深入解答
在 Python 中,WSGI(Web 服务器网关接口)位于 Python Web 框架下,如 Django、Flask、Bottle。
Servlet 之于 Java 就像 WSGI 之于 Python — Web 服务器的通用规范,它允许 Web 服务器和应用程序框架基于通用 API 相互交互。
Java Web 框架是围绕前端控制器模式设计的,其中中央 Servlet 是传入请求的焦点。
Servlet 组件通常完全集成在 Web 框架本身内部,因此开发人员只需要与更高级别的组件交互 - 例如 Spring MVC 框架中的DispatcherServlet。
关于 JAVA 中的路由库:
如果您使用的是Spring 框架,则可以使用Spring MVC模块完成路由,该模块是一个 Web 应用程序框架,具有比简单路由更多的功能。
如果您正在使用J2EE ,那么您可以使用Jersey,它是JAX-RS Spec的一个实现。