使用Java Web App在浏览器中打开文件
我有一个带有servlet和jsp的独立的简单Java Web应用程序,它的名称是FileDisplay。我正在通过url-
访问其主页http://localhost:8080/FileDisplay/index.jsp
。
应用程序本质上的作用是检索具有完整路径的文件名列表(.xml和.pdf)。这些文件存储在各种外部目录中,例如D:\ ABCD,D:\ XYZ,D:\ PP
\ 2012 \ 08等,但与Web应用程序位于同一台机器上,但位于不同的驱动器上。因此,退货清单类似于-
D:\ABCD\filename1.xml D:\ABCD\filename2.xml
D:\ABCD\pdf1.pdf
如果我<a href="">
在jsp中使用简单的话,它将不起作用。在viewsource中看起来像-
<a href="D:\ABCD\pdf1.pdf">file1</a>
我认为是因为这些文件不是webapp的一部分,所以容器不认为它是本地文件,因此无法打开它们。当我将鼠标指针放在链接上时,状态栏显示为file:///D:\ABCD\pdf1.pdf
。我也尝试在file:///
中添加前缀href
,即使这样也不起作用。所以我尝试了其他一些事情。
我尝试过的一件事是Context
在Tomcat中设置,server.xml
但即使这样似乎也不起作用。我正在使用eclipse构建,部署和运行tomcat,因此server.xml
我为此上下文修改的内容是eclipse工作区中的一个。
我使用的设置是-
<Context docBase="D:/ABCD" path="/File-Display/NB" reloadable="true"/>
我为主要应用程序设置了另一种上下文-
<Context docBase="FileDisplay" path="/FileDisplay" reloadable="true" source="org.eclipse.jst.j2ee.server:FileDisplay"/>
我在这里做错了什么?
现在解释得更多了吗?
回答:
我认为您走错了路。
如果要提供对分布在文件系统中的不同文件的访问,请创建接受URL的控制器(servlet),读取适当的文件并将其写入响应输出流。
这样,您可以控制对资源的访问,使其安全等。您将能够轻松地修改应用程序(例如,如果更改文件位置)。等等
以上是 使用Java Web App在浏览器中打开文件 的全部内容, 来源链接: utcz.com/qa/410583.html