java - Servlet 在访问网络驱动器时抛出文件未找到 excp

标签 java tomcat servlets windows-xp network-drive

我有一个生产环境和测试环境。产品有 win2k3+tomcat 6.0+ 和网络驱动器映射到一个驱动器号以便于访问(z:\app 而不是\symba\files\app)。我的测试环境有 windows xp(所有软件都是相同的,包括 servlet 的源代码)并且测试也有相同的驱动器号映射到网络驱动器。

Tomcat 在两个系统中使用相同的用户 ID 运行,并且能够在测试 m/c 和生产 m/c 中通过 Windows 资源管理器访问该文件。

现在,如果尝试访问现有文件(可通过 Windows 资源管理器访问),windows xp m/c(测试 m/c)中的 servlet 会抛出文件未找到异常。生产环境中的 servlet 与测试环境中的相同,当我请求文件时,生产 servlet 会愉快地提供文件,并且不会抛出任何错误。

我看到一些帖子说使用驱动器号不是一个好主意,应该改用 UNC 路径,但我还没有尝试过。我想知道测试 servlet 无法获取文件而生产 servlet 工作正常的原因。

非常感谢您的时间和帮助 博

最佳答案

您是否将应用服务器作为服务运行?仅当您使用交互式程序而不是服务时,驱动器号分配才是可靠的。

几年前,我试图解决一个完全相同的问题,但最后我放弃了,我使用了 JCIFS访问文件。

关于java - Servlet 在访问网络驱动器时抛出文件未找到 excp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3778954/

相关文章:

java - 为什么 JTextArea 可以滚动,但不能滚动?

java - 如何获取具有文本和复选框字段的整个表的值 jsp 到 servlet

jsp - Java EE 中动态 Web 模块 3.0 和 2.5 之间的区别?

java - 如何控制 JAXB 内存模式生成顺序/顺序?

java - 对任意(通用)对象的引用

javax.servlet.ServletException : Communications link failure

python - 使用 Dockerfile 安装 MongoDB 和 Tomcat

java - 如何读取 -Dserver.ref VM 参数

JavaServlet : how to escape the pound character when setting response header?

java.lang.NoClassDefFoundError : javax/faces/context/FacesContext