您可以添加新上下文以指定访问外部文件夹的路径。
Jboss 4 及旧版本的步骤:
- 打开你的文件
/YOURINSTANCE_JBOSS/deploy/jboss-web.deployer/server.xml
。
Context
在标签中定义一个新的<Host name=”localhost” ...>
例子:
<Host name=”localhost” ...>
<Context path=”/myfolder” docBase=”/home/username/my_images” reloadable=”true”></Context>
其中/myfolder将是您将用于访问文件的路径,而/home/username/my_images将是您要上传图片的文件夹。
重启 JBoss
现在您将能够使用下一个路径访问您的文件:
http://yourserver:yourport/myfolder/filename
Jboss 5的步骤:
context.xml
使用以下内容在您的文件夹中创建一个名为的新文件WEB-INF
:
<?xml version="1.0" encoding="UTF-8"?>
<Context allowLinking="true" cookies="true" crossContext="true" override="true">
<Resources allowLinking="true" className="YOUR_PACKAGE.MyResources" homeDir="/home/username/my_images" />
</Context>
其中className是将访问外部目录的资源和homeDir的 java 类。
根据此链接创建一个新类来访问文件中定义的资源context.xml
例子:
public class MyResources extends FileDirContext {
}
现在您将能够使用下一个功能访问您的文件:
request.getServletContext().getResourceAsStream(uri);
Jboss 5 及旧版本的步骤:
使用以下内容创建一个名为context.xml
WEB-INF 文件夹的新文件:
<?xml version="1.0" encoding="UTF-8"?>
<Context allowLinking="true" cookies="true" crossContext="true" override="true">
<Resources allowLinking="true" homeDir="/home/username/my_images" />
</Context>
homeDir是您的外部目录。
创建符号链接:YourDeployedProject.war/myfolder
链接到/home/username/my_images
视窗:
mklink /D C:\YOUR_JBOSS_SERVER\server\default\deploy\YourDeployedProject.war\myfolder C:\users\YOURUSER\my_images
Linux:
YourDeployedProject.war# ln -s /home/username/my_images myfolder
现在您将能够使用下一个路径访问您的文件:
http://localhost:8080/DeployedProject/myfolder/filename
Jboss 7的步骤:
JBoss 7 不允许以前的 JBoss 版本使用任何方法,因此最简单的解决方案是实现一个 Servlet 来访问您的文件,如下一个链接所示。