如何从JavaEE应用程序外部化PDF?
我有一个JavaEE应用程序,在WebLogic10.3.5和Java6下运行。 我曾经有一个pdf帮助文件,嵌入在我的war文件中,但我需要从那里提取它,并将其放在一个外部目录中(它可以在我的同一个WebLogic域目录中) 我试图把它放在我的WebLogic域中,然后放到中,但似乎浏览器有限制,出于安全原因,不允许下载带有a href或javascript的本地文件 这只适用于保存在我的计算机上的静态HTML文件,但如果HTML页面部署在服务器上,这似乎是不可能的如何从JavaEE应用程序外部化PDF?,java,html,jakarta-ee,web,weblogic,Java,Html,Jakarta Ee,Web,Weblogic,我有一个JavaEE应用程序,在WebLogic10.3.5和Java6下运行。 我曾经有一个pdf帮助文件,嵌入在我的war文件中,但我需要从那里提取它,并将其放在一个外部目录中(它可以在我的同一个WebLogic域目录中) 我试图把它放在我的WebLogic域中,然后放到中,但似乎浏览器有限制,出于安全原因,不允许下载带有a href或javascript的本地文件 这只适用于保存在我的计算机上的静态HTML文件,但如果HTML页面部署在服务器上,这似乎是不可能的 知道如何从war文件中具体
知道如何从war文件中具体化help.pdf文件吗?您需要将其放在web上下文的根目录下,与HTML页面完全相同的位置。您的web服务器将能够在那里找到它。尽管一些应用程序服务器允许Java EE应用程序引用web容器外的文件,但实际上,您的web应用程序不应该了解web容器外的任何信息,正如您所提到的,这确实是一个巨大的安全隐患 根据您试图使用此PDF文件完成的操作,如果您只想在web上公开此文件,请按照@duffmo所说的操作,它将正常工作。如果您希望灵活地修改PDF文件,而不必重新创建WAR文件,您可能需要考虑在某些HTTP Web服务器(ApACE2、IIS等)中托管此PDF文件,现在您可以从Web应用程序中引用该链接。p> @limc是对的 您应该将这个静态文件放在Weblogic之外,作为Apache web服务器上的一个文件 然而,在Weblogic中有一个虚拟目录映射功能,它允许您在Weblogic域之外声明一个文件夹作为任何静态内容的内容存储 此条目位于WEB-INF/weblogic.xml中
<virtual-directory-mapping>
<local-path>c:/usr/mypdfs</local-path>
<url-pattern>/pdf/*</url-pattern>
</virtual-directory-mapping>
c:/usr/mypdfs
/pdf/*
谢谢,但不幸的是,这确实是静态的;更新帮助文件时,我需要重新启动域。但这总比现在什么都没有好。