我有一个接受EPUB文件作为上传的JSP,然后使用JAR文件在EPUB上进行一些检查/验证。
我让它工作正常但是当我测试使用来自2个不同标签的JSP页面, tab1 和 tab2 并为每个标签上传不同的文件时,两个页面的结果只有tab1或tab2中的一个选项卡,然后tomcat服务器关闭。
我检查了控制台,它有一个
java.util.ConcurrentModificationException
我认为这是由我的JAR文件有静态变量引起的。
所以我的问题是,即使我使用2个浏览器,JSP是否只运行我的JAR的单个实例?
如果是这样,修复静态变量是我唯一的选择还是我还能做什么呢?
答案 0 :(得分:2)
每个Web应用程序只有一个类加载器。 JSP(它是Web应用程序的一部分)使用仅加载一次的JAR。因此,静态变量在所有请求之间共享,内容被覆盖。您需要使变量非静态,并在每个JSP中创建一个新实例来进行处理。