Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to configure static resources in jBoss AS 7

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

like image 701
nikagra Avatar asked Dec 20 '11 13:12

nikagra


2 Answers

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.

like image 165
nikagra Avatar answered Oct 24 '22 23:10

nikagra


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

like image 41
JoseK Avatar answered Oct 24 '22 22:10

JoseK