为什么web项目出异常程序不停止?

开发单机程序的时候,发生异常程序就停了自动退出。 用spring框架的javaweb项目,为什么发生异常后不会停止呢?是最上层捕获异常了吗?

如有帮助,望点赞、采纳!!谢谢


单机应用的时候,正常来说你执行程序不适用多线程情况下默认就一个主线程,出现异常情况如没有异常机制,则程序则会因异常结束了,如果使用spring等框架,你运行某个出现异常也只是中断你出现异常的程序,不会中断spring的主程序线程,这样解释可以理解?

首先是被web容器捕获 而查阅资料 加个人理解是: javaweb服务 一般是打成war包或者jar包部署在tomcat里面 , 如果你仔细了解过tomcat的配置文件 你会发现里面有并发量配置

也就是说每次客户端发起一个请求,tomcat都会开启一个线程来为这个请求服务,并且线程之间是相互隔离的,这样就避免了你访问的资源响应到另一个客户端那边去了,当然 如果你提供的参数,会导致异常,那么阻塞的也只是你这个线程,并且tomcat里面有线程回收机制,当你的线程阻塞时间太长 那么这个线程会被释放. 而javase项目 额 就是一个单线程的。。。。当然你写个多线程,也会达到你想要的效果

因为你是用的tomcat启动的项目,只要不是强制关闭或者出现特别严重的错误就不会停止呀,发生异常只能说明运行某个方法的时候出现异常,但不影响其他方法或者项目,当你将异常也就是出错的地方修改好了之后,要重新启动tomcat才可以更新项目

有帮助 望采纳