Java JTwain不能在使用servlet的jsp中工作

Java JTwain不能在使用servlet的jsp中工作,java,jsp,servlets,twain,java.util.scanner,Java,Jsp,Servlets,Twain,Java.util.scanner,我已经下载了jtwainapi并创建/测试了一个java类来连接到我的扫描器,打开扫描器UI并将图像扫描回java,没有任何问题 然后,我尝试在tomcat中创建一个JSP,其中form action连接到servlet doPost方法,该方法随后调用JTwain方法 问题是,我得到的是,而不是柯达扫描仪窗口要求我按扫描网页只是冻结。我放了一些system.Out来检查它冻结的位置,它在2点停止,好像柯达扫描仪对话框正在显示,等待我按下扫描按钮 public static Image init

我已经下载了jtwainapi并创建/测试了一个java类来连接到我的扫描器,打开扫描器UI并将图像扫描回java,没有任何问题

然后,我尝试在tomcat中创建一个JSP,其中form action连接到servlet doPost方法,该方法随后调用JTwain方法

问题是,我得到的是,而不是柯达扫描仪窗口要求我按扫描网页只是冻结。我放了一些system.Out来检查它冻结的位置,它在2点停止,好像柯达扫描仪对话框正在显示,等待我按下扫描按钮

public static Image initScan(){
    try {
         Source source = SourceManager.instance().getDefaultSource();
         System.out.println(1);
         source.open();
         System.out.println(2);
         Image image = source.acquireImage();
         System.out.println(3);
         return image;
    }catch(Exception e) {
         e.printStackTrace();
         return null;
    }finally{
         SourceManager.closeSourceManager();
    }
}

我假设它会像任何文件打开对话一样工作,但显然不是,有什么建议吗?

我对JTwain一无所知,但JSP是在服务器上执行的,而不是在客户机上执行的。我假设您的Tomcat无法访问GUI界面,这就解释了它无法打开窗口。(或者,它会打开服务器上的窗口,您在其中看不到它。)


您在服务器日志文件中看到了什么吗?

您真的打算运行连接到服务器机器(Web服务器运行的地方)的扫描仪吗?如果您的实际目的是运行连接到客户端机器(webbrowser运行的地方)的扫描仪,那么您需要转向一个完全不同的解决方案。没有错误,只有数字1和2作为输出。我认为你的服务器端建议是对的。有三种解决方法吗?您想使用连接到服务器的扫描仪还是连接到客户端的扫描仪进行扫描?客户端。这听起来可能很傻,但就目前而言,我的tomcat无论如何都在我的本地机器上,所以它应该可以看到我的扫描仪。不需要。Tomcat的图形环境可能被配置为headless,因此GUI操作无法工作或可能引发异常。对于客户端,正确的方法是使用小程序。我认为JTwain网站上有一个示例applet。(不过,加载DLL需要签名和权限。)