我對servlets並不陌生。但我仍然好奇:爲什麼javax.servlet
包不是自行發佈的?爲什麼我需要安裝一些應用程序服務器才能編譯我的代碼?爲什麼javax.servlet包僅作爲應用程序服務器的一部分進行分發?
1
A
回答
5
2
該Servlet API是可以通過一些罐子,你可以用它做你想要什麼。在maven上它是here。你可以在沒有任何應用程序服務器的情況下編譯代碼,但它可能不會做你想要的。它只是一個接口畢竟
Servlet是隻有在Web應用程序的情況下真正相關的,這就是爲什麼Servlet容器存在。他們是實施。查看容器在請求到達servlet之前所做的所有工作:Tomcat Sequence Diagram。
0
的Servlet像其他的Java EE技術,如EJB從Java Community Process Program
從JSR(Java規範要求)規格的責任是應用服務器供應商提供基於規格released.In這種情況下 實施 - 爲Servlet 2.5 - 爲Servlet 3.0
太陽/現在是Oracle確實分別釋放javax.servlet
包,你可以從Maven Repository還其可用任何J2EE投訴AP的lib文件夾中下載摺疊服務器/ web容器。 即在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
。
相關問題
- 1. 包含WCF服務作爲ASP.NET應用程序的一部分
- 2. 將CouchDB作爲Rails應用程序的一部分分發?
- 3. 運行GUI應用程序作爲BuildMaster部署的一部分
- 4. 爲什麼不是Haskell部分應用程序工作?
- 5. 作爲http響應的一部分發送什麼數據
- 6. 爲什麼觸發器的一部分在其餘部分之前被執行?
- 7. c#應用程序作爲服務運行有什麼優勢?
- 8. Maven將EAR作爲分解存檔部署到應用程序服務器
- 9. OWIN和Katana,爲什麼從服務器上分離應用程序?
- 10. android:爲什麼行動欄在統一應用程序的部分時失蹤?
- 11. 將Unix工具打包爲Cocoa應用程序的一部分
- 12. 爲什麼bash數組的一部分作爲命令執行?
- 13. 爲什麼(javax.servlet。)SingleThreadModel棄用?
- 14. 爲什麼PFQuery.cancel()作爲parse.com-Framework的一部分不起作用?
- 15. TFS 2010:如何將Windows服務作爲構建的一部分進行部署?
- 16. 爲什麼URL的哈希部分不在服務器端?
- 17. 爲什麼線程從未被包含作爲C++標準的一部分?
- 18. Haskell部分應用程序似乎不適用於。爲什麼?
- 19. 爲什麼NASM程序分爲3個部分?
- 20. 將應用程序配置的appsetting部分分爲兩部分
- 21. 作爲操作系統的一部分或不包含的應用程序 - 有什麼區別?
- 22. 作爲服務運行的分析java應用程序(本地/遠程)
- 23. 是否可以將nodejs應用程序作爲rails應用程序的一部分進行集成?
- 24. npm包分辨率:爲什麼要去服務器?
- 25. cocos2d作爲更大的iPhone應用程序的一部分?
- 26. 什麼應該/不應該成爲行動的一部分?
- 27. 爲什麼geotools在作爲Java EE 6應用程序的一部分運行時拋出MathTransformFactory?
- 28. 分配應用程序服務器
- 29. 如何在組織內部進行應用程序分發(內部應用程序分發)?
- 30. 將桌面應用程序分離爲客戶機 - 服務器應用程序
因爲它的目的是爲Java Web應用程序服務器上的Web應用程序運行,而不是外界。不過,您可以在Java EE 6 JDK(即GlassFish v3實現)中包含此包。 – 2013-02-19 21:05:08
@GlebR - Application Server實現JEE規範和javax.Servlet只能運行在這些種類的服務器上 – user1428716 2013-02-19 21:09:52
它是自己分發的。你的問題是基於錯誤的前提。 – EJP 2013-02-19 22:58:32