Also, becasue a servlet is instantiated only once, all accesses are put through that one object. Java's simple multithreading syntax makes this fairly easy. There are several servlet engines available. The servlet mailing list hosted by Sun is currently the largest single forum for discussing servlet related issues. Please consult the list's FAQ before posting, and remember that your emails go out to the entire list membership - people who subscribed specifically to get servlet related information.
Form based file upload requires a couple of steps.
Most current browsers do, but it's not a guarantee. The intrepid programmer is referred to RFC 1867 for cluefulness on how to parse this data. Note that the source code is available for both of these examples, but both assume that you will be writing the file to a file on the server.