Subiendo un archivo en Java Servlet

Tengo un proyecto web dinámico de Java y estoy usando TomCat v7.0.

Soy nuevo en los proyectos web y no entendía cómo cargar un archivo en una de mis páginas jsp. Dado que mi proyecto tiene la intención de ser solo local, pensé que podría usar un formulario de varias partes en el que la persona elegiría el archivo (y esta parte va bien) y luego recuperar la ruta del archivo de mi Servlet. Sin embargo, no puedo completar esta parte, parece que solo me da el nombre del archivo, no su ruta completa.

¿Alguien puede indicarme la dirección correcta? He leído varias publicaciones sobre la carga de archivos de Apache y la recuperación de información del formulario multiparte, pero nada parece ayudarme.

¿Cómo puedo obtener la ruta del archivo desde un formulario o, alternativamente, cómo puedo usar el archivo cargado en mis clases de Java?

Gracias por adelantado.

.jsp:

<form method="post" action="upload" enctype="multipart/form-data">
<input type="file" name="filePath" accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"></input>
<input type="submit" value="Enviar"></input>
</form>

Servlet de Java:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
    PrintWriter out = response.getWriter();
    out.println("<html><body>");

    try
    {
        List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
        for (FileItem item : items)
        {
            if (item.isFormField())
            {
                // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
                String fieldname = item.getFieldName();
                String fieldvalue = item.getString();

                out.println("<h1>"+fieldname+" / "+fieldvalue+"</h1>");
            }
            else
            {
                // Process form file field (input type="file").
                String fieldname = item.getFieldName();
                String filename = item.getName();
                InputStream filecontent = item.getInputStream();
                String s = filecontent.toString();
                out.println("<h1>"+s+" / "+filename+"</h1>");
                item.write(null);
            }
        }
    }
    catch (FileUploadException e)
    {
        throw new ServletException("Cannot parse multipart request.", e);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }

    out.println("</body></html>");
}