How to configure static resources in jBoss AS 7

2020-03-12 07:37发布

问题:

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.

  1. Configure static resources in JBOSS AS 7 (not answered)
  2. Replacement for context.xml in AS7? Access files outside the WAR? (not answered)

There are jBoss documentation I've found:

  1. The static-resources element
  2. AdminGuide Container Configuration

Any help will be appreciated. Thanks in advance

回答1:

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.



回答2:

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");