1

我对 servlet 并不陌生。但我仍然很好奇:为什么javax.servlet包不是自己分发的?为什么在编译代码之前需要安装一些应用程序服务器?

4

3 回答 3

5

简短的回答,它是单独分发的。

Servlet 是一个规范和一个 API。如果您需要 JAR,请从规范站点Servlet Spec 3.0下载它。

显然,如果您想实际部署您的应用程序,您仍然需要一个实现(即服务器)。

于 2013-02-19T21:09:39.487 回答
2

servlet API 可通过一些 jar 获得,您可以随心所欲地使用它。在 Maven 上它就在这里。您可以在没有任何应用程序服务器的情况下编译代码,但它可能无法满足您的要求。毕竟只是一个界面

Servlet 仅在 Web 应用程序的上下文中真正相关,这就是存在 Servlet 容器的原因。他们是执行。看看容器在请求到达 servlet 之前所做的所有工作:Tomcat 序列图

于 2013-02-19T21:10:05.980 回答
0

Servlet 与 EJB 等其他 Java EE 技术一样,是来自Java Community Process Program的JSR(Java 规范请求)规范

应用服务器供应商有责任根据发布的规范提供实施。在这种情况下 - 对于Servlet 2.5 - 对于Servlet 3.0

Sun / now Oracle 确实javax.servlet单独发布了该软件包,您可以从Maven Repository下载它,它也可以在任何 J2ee 投诉应用程序服务器/Web 容器的 lib 文件夹中找到。即对于 Tomcat,它在TOMCAT_HOMEDIR/lib/servlet-api中可用

所以对于developing and compiling , this jar is sufficient,你只会need the Application server only when you want to actually deploy your application

于 2013-02-20T01:43:00.340 回答