This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
So if you're doing it properly, what your servlet gets made available to it is the name of the file, and its contents as an input stream.
Helper libraries such as the commons file upload can be useful in dealing with uploading files
So if you want to read the file, read it from the InputStream available.
The main reason people want to get the full file path is so that they can open a FileInputStream on the server, to the file which is sitting on the client. This will work if (and only if) the server and the client are one and the same machine (fairly standard for developing) but for obvious reasons, will not as soon as you deploy it elsewhere.
Internet Explorer includes the client-side full filesystem pathname as part of the file upload metadata. I actually consider this to be a security problem because it gives someone else detailed information about my computer's filesystem organization without my ability to control it.
Most other web clients do not send the full client filesystem path.
In either event, the choice of what to send is not determined by the server, it is determined by the client. And if the client chooses full-path, local-path, or randomly-made-up garbage (including hackers attempting to open up exploits), there's not a single thing the server can do about it.
An IDE is no substitute for an Intelligent Developer.