This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Servlets and the fly likes error in downloading file Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Servlets
Bookmark "error in downloading file" Watch "error in downloading file" New topic
Author

error in downloading file

sam liya
Ranch Hand

Joined: Nov 25, 2008
Posts: 1165
here is a code for downloading jar file


here is the web.xml file


first i compile the ShowHeadersServlet class and put it to the
C:\Tomcat\apache-tomcat-6.0.18\webapps\hellow\WEB-INF\classes.
then i start the tomcat server.
then go to browser and type this.

http://localhost:8080/hellow/A
it downloading some file named A. But it is not a file which i need.
Actually downloaded file name is equal to the last name of the URl which i typed in browser.
i need to download the bootstrap.jar file.
Also I put this jar to the bin director in tomcat.
What is wrong with this code ?
Ankit Garg
Sheriff

Joined: Aug 03, 2008
Posts: 9303
    
  17

Use the Content-Disposition header...


SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links
sam liya
Ranch Hand

Joined: Nov 25, 2008
Posts: 1165
no, i don't need a hiperlink in the broser.
I need to download the file when i put the relavant URl in browser.
The problem is that it download the file which is not expected and the name of the file is last name of URL.

if the URL type is http://localhost:8080/hellow/HelloWorldServlet
downloaded file name is HelloWorldServlet

if the URL type is http://localhost:8080/hellow/A
downloaded file name is A(I change the web.xml also to a when i chang the URL)

I check the size of the downloaded file with my expected bootstrap.jar.
bootstrap.jar size is 17.1 KB
downloaded file size is 70.4 KB.
Ankit Garg
Sheriff

Joined: Aug 03, 2008
Posts: 9303
    
  17

First of all I didn't say that you need a hyperlink. You need to set the content-disposition header in the servlet whose code you just showed. Also where is your jar file actually located?? You are using only the jar name in the File class constructor. You should try to use the inbuilt mechanism in servlets like getResourceAsStream to read files from web application's directory. Read this thread or a tutorial like this for more info...
sam liya
Ranch Hand

Joined: Nov 25, 2008
Posts: 1165
i put that jar file to the tomcat/bin folder.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42061
    
  64
In a web app, relative paths (like "bootstrap.jar") don't work, because there is no notion of a default directory. You need to use an absolute path - the "ServletContext.getRealPath" method will be helpful for that.


Ping & DNS - my free Android networking tools app
 
Don't get me started about those stupid light bulbs.
 
subject: error in downloading file