为什么Tomcat要在WAR文件位置的上下文路径上创建我的应用程序?
我有一个带有Tomcat实例的远程服务器,我正试图在根上下文中将WAR文件部署到该服务器上。这是WAR文件的完整路径: C:\Users\adminsg\Desktop\doj\war\ROOT.war 当我使用文件选择器上传WAR时,它会将WAR部署到上下文路径为什么Tomcat要在WAR文件位置的上下文路径上创建我的应用程序?,tomcat,war,tomcat8,Tomcat,War,Tomcat8,我有一个带有Tomcat实例的远程服务器,我正试图在根上下文中将WAR文件部署到该服务器上。这是WAR文件的完整路径: C:\Users\adminsg\Desktop\doj\war\ROOT.war 当我使用文件选择器上传WAR时,它会将WAR部署到上下文路径/C:usersadmingdesktopdojwarroot,而:会中断该路径。当我将ROOT.war移动到与Tomcat实例相同的驱动器时,也发生了同样的事情 我所做的唯一更改是将文件大小限制增加到100MB,以适应更大的应用程序。
/C:usersadmingdesktopdojwarroot
,而:
会中断该路径。当我将ROOT.war移动到与Tomcat实例相同的驱动器时,也发生了同样的事情
我所做的唯一更改是将文件大小限制增加到100MB,以适应更大的应用程序。我以前从未遇到过这种情况,我已经在Tomcat服务器上部署了几十个应用程序
有没有办法让Tomcat停止以这种方式创建上下文路径,或者是我使用手动上下文路径部署器进行部署的唯一选项
编辑
错误似乎与HTTPServletManager的upload()方法中的Part.getSubmittedFileName()方法有关。这个错误只发生在远程服务器上,而不是我的本地机器上。我想出了一个解决办法,包括编辑Tomcat代码。我将问题缩小到
ApplicationPart.getSubmittedFileName()
方法,其中第152行:
fileName=HttpParser.unquote(fileName.trim())代码>
正在删除文件路径中的反斜杠。我删除了该行,上传工作正常
如果有更好的方法,请回答问题。谢谢 我想出了一个解决办法,包括编辑Tomcat代码。我将问题缩小到ApplicationPart.getSubmittedFileName()
方法,其中第152行:
fileName=HttpParser.unquote(fileName.trim())代码>
正在删除文件路径中的反斜杠。我删除了该行,上传工作正常
如果有更好的方法,请回答问题。谢谢