I'm working on a relatively simple (MySQL+Hibernate+Tomcat+JSF+RichFaces) J2EE web app for uploading and retrieving pictures. The main problem is: J2EE web apps aren't meant to be able to permanently write data in a place that Tomcat could serve over HTTP. I'm currently circumventing this problem by storing the pictures as blobs in the database, but i'm looking for a more ENTERPRISE solution.
Use ENTERPRISE symlink technology to confuse Tomcat as JAWA doesn't understand filesystem concepts more advanced than windows 95 and now it never will.
If there's one thing I learned, it's to never store blobs of data in a database. Store that shit in files and store the filenames in the database. Typical high-performance setups have two servers anyway; a light server that serves these kinds of files, and it proxies cgi connections to a heavyweight server to do your ENTERPRISE java shit.
I've never used J2EE. So this may have been entirely unhelpful.