How to configure static resources in jBoss AS 7
-
22-03-2021 - |
Question
I'd like to upload images to the server, store them in file system (outside server) and then display them on my JSF page.
I'd like to find something like this:
<?xml version="1.0" encoding="UTF-8"?>
<Context allowLinking="true" cookies="true" crossContext="true" override="true">
<Resources allowLinking="true"
className="com.triplemind.site.engine.SourceResolverContext"
homeDir="/home/myapp/files" />
</Context>
I found some solutions, but I wonder if there is a better way to do this.
- Configure static resources in JBOSS AS 7 (not answered)
- Replacement for context.xml in AS7? Access files outside the WAR? (not answered)
There are jBoss documentation I've found:
Any help will be appreciated. Thanks in advance
Solution
Finally, I've decided to use FileServlet implemented by BalusC (link). This solution suits me for now. I've only changed its basePath
to some certain path on my server.
OTHER TIPS
This method documented on the JBoss forums works for us in loading all the static resources from an exploded folder - which has to sit within JBOSS_HOME but at least not packaged in EAR/WAR.
https://community.jboss.org/wiki/HowToPutAnExternalFileInTheClasspath
I had to create a module folder called com/mycompany/main and add all the images in there.
Skip step 3 and use step 4 instead. (Manifest.MF entry - which works)
The image is now loaded using
URL imgUrl = this.getClass().getClassLoader().getResource("myimage.jpg");