如果有人在服務器中寫入System.exit()
服務器或應用程序會崩潰,會發生什麼?Servlet中的System.exit
回答
運行servlet容器的JVM會終止,所以,是的。
那麼,我希望大多數人都會與安全管理員一起運行,並對其進行配置以限制這一點。如果是這樣,那麼答案是否定的。因此,正確答案取決於安全管理器是否正在使用以及安全策略是否正確配置/限制。 – 2010-05-20 10:38:12
也許!該容器應該修改了安全管理器(SecurityManager.checkExit()
),以便呼叫可能導致AccessControlException
。沒有webapp應該能夠關閉服務器。
有一個這個問題的答案已經在這裏: http://tomcat.apache.org/tomcat-5.5-doc/security-manager-howto.html
好,System.exit()
將終止當前運行的JVM。所以很有可能會觸發在servlet容器'addShutdownHook
中編寫的代碼。
System.exit()的是在瀏覽器
它不這樣工作。 – 2015-06-30 09:59:51
從https://javarevisited.blogspot.in/2014/11/dont-use-systemexit-on-java-web-application.html:
在Java Web應用程序,這無論是Web服務器或應用服務器內運行,這本身就是Java程序是完全不使用它是一個好主意System.exit()。爲什麼?因爲調用System.exit()殺死你的JVM,從Tomcat或Jetty調用它,不僅會殺死你的應用程序,而且很可能是服務器本身。如果該服務器也託管其他關鍵應用程序,這可能會有潛在的危險,這種情況並不罕見。根據我的經驗,在加載環境變量,屬性文件,連接到MQ Series,建立數據庫連接,打開套接字連接等的Web應用程序啓動代碼中,System.exit()調用在過度廣泛的try-catch塊中很常見。如果你正在編寫核心的基於Java的服務器,每個應用程序都有自己的JVM,但是在Tomcat,JBoss,WebSphere,Weblogic或任何其他應用程序服務器上部署Web應用程序,使用System.exit()很大錯誤。在最壞的情況下,可能導致許多其他關鍵應用程序中斷。另一方面,通過啓用安全管理器,有辦法阻止您的Web應用程序出現其他人的錯誤。 System.exit()和Runtime.exit()都通過安全管理器。啓用安全管理器將捕獲這些調用並將其減少爲異常,而不是關閉整個虛擬機。
- 1. System.exit()android
- 2. Java中的System.exit線程
- 3. Android Wear Watchface中的System.exit(0)?
- 4. 使用System.exit(0)
- 5. JFrame.dispose()vs System.exit()
- 6. System.exit(0)麻煩
- 7. 與Java System.exit
- 8. system.exit()在Java中去哪裏?
- 9. 禁止呼叫System.exit
- 10. System.exit(0)不工作
- 11. JVM倖存System.exit(1)
- 12. 代碼執行System.exit()的Android中
- 13. 用java中的System.exit(0)退出程序
- 14. 的servlet:在Servlet中
- 15. 如何在WPF中偵聽System.exit()錯誤?
- 16. 在System.exit中取消綁定(0)
- 17. Eclipse不認爲System.exit中斷執行
- 18. System.exit(1),而不是回報
- 19. 何時使用system.exit(0)?
- 20. 重點不丟失System.exit
- 21. 防止JVM執行System.exit()
- 22. System.exit終於代碼分析
- 23. Android沒有關閉System.exit()
- 24. Java - System.exit()和掃描儀
- 25. 如何捕獲System.exit事件?
- 26. 調用Servlet中的servlet
- 27. 優雅的方式退出dm_job? System.exit()的?
- 28. 我的system.exit代碼的位置錯誤
- 29. C中的exit(0)和Java中的System.exit(0)的練習
- 30. Java。 System.exit(int status)。退出狀態的值
爲什麼不試試用你的特殊的servler容器來看看會發生什麼? – Jesper 2010-05-20 09:37:02