Short answer: you can't. This is not strictly a
SErvlet or
JSP thing, its a HTTP security thing.
Otherwise visiting a web page could result in people writing viruses, overwriting properties, or even have Microsoft detect a Linux operating system and overwrite it with Windows
One thing you can do is have someone make a request to a Servlet, then have the Servlet return a file to the client. The default for web pages is to return content with the mime-type of text/html and for the browser to handle this (by showing it on the screen)
There are other mime-types that browsers can handle (like images and movies), but if the browser doesn't know what to do with the file, it will prompt the user to save it on the harddrive (and they get to decide where to save it).
This isn't a complete solution (and may not work cos I ripped from the middle of an existing class) but it should give an idea... The only tricky bit is the Disposition Header, which changes the name of the file to the real filename.
Dave