I’ve searching for this for a while now online (Google, and StackOverflow), but haven’t yet come across this question. Maybe my query is not correct (please redirect then!)
I’ve developed and set up a WebApp on TomCat 6 under Linux. Tomcat isn’t running in a virtual host environment yet, I have full control over server. Therefore, .war file is saved to Tomcat’s standard deploy dir. The issue I have is with images: different web services provide differently-sized images which need to be presented in uniform sizes.
I download them and resize them without problems, but have to store a local copy of the image as this takes some time if done real-time, plus a lot of bandwidth waste. I don’t save them under the .war’s temp dir under Tomcat, due to case where a server shutdown would force me to reload all images.
I have created a different directory under /home/username/images, which I then serve under a different subdomain through regular Apache, and the HTML code generated in the .jsp is simply a correct URL to the file. Works great if the image doesn’t exist. However, due to permission issues, the Tomcat instance cannot remove or overwrite files already created, even though I’ve marked the folder where images are stored with 777 permissions. As an aside, I don’t see need to give it 777 perms, but with 755 (for example), I had permission issues even when trying to save a new file.
So: is there a better solution (I considered database, but the images dir is now 250mb, and I see no need to overload the db so much)?
Don’t store the images in the database. Your /home/user/www.example.com/resources approach is in the correct direction, just sort out the privileges issue. Make sure the path is in a group where the user who runs tomcat (tomcat?) belongs in and reduce the 777 because it’s too broad.