Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

creating a file from WEB-INF

 
nikil shar
Ranch Hand
Posts: 116
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi all,
am writing a servlet which is meant to pass a file into another system. its a static file so i have put it inside my 'WEB-INF' directory but for some reason the code can not instantiate the file.



the code doesnt get inside the if statement since it fails at the if statement check to see if file exists. is there something wrong with my code ??

ta.
 
Mark E Hansen
Ranch Hand
Posts: 650
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have a look at ServletContext.getResourceAsStream("...").
 
Sony Agrawal
Ranch Hand
Posts: 143
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is it possible to access a file using such a path??
I mean a path where in "WEB-INf " is present ??
File f = new File("/WEB-INF/test.afp");
If that is the case then can't someone illegally access the class files if they know the server location and project name

 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13056
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


Implies an absolute path starting with /WEB-INF - look into the ServletContext getRealPath() method.

Note that if you create a file under /WEB-INF the servlet container can NOT serve it directly, you will have to provide a servlet which can access that directory.

Bill
 
Mark E Hansen
Ranch Hand
Posts: 650
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
sony agrwal wrote:Is it possible to access a file using such a path??
I mean a path where in "WEB-INf " is present ??
File f = new File("/WEB-INF/test.afp");
If that is the case then can't someone illegally access the class files if they know the server location and project name



Your servlet can access content under /WEB-INF, the web container cannot.
 
Sony Agrawal
Ranch Hand
Posts: 143
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the reply people..

So as i understand the bottom line is,"The only way to access the contents of the WEB-INF directory is only through the servlet"
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic