Le servlet sono classi Java che gestiscono le richieste, le elaborano e rispondono con una risposta. Ad esempio, possiamo utilizzare un servlet per raccogliere input da un utente attraverso un modulo HTML, interrogare record da un database e creare pagine web dinamicamente. I servlet sono sotto il controllo di un'altra applicazione Java chiamata Servlet Container.
Nel contesto di un servlet, se viene utilizzato l'Invoker Servlet e il percorso contiene /servlet/, allora i riferimenti a non-servlet utilizzando un riferimento relativo (senza il ..) dalla directory corrente falliranno. Il server Tomcat tratterà tutti i file in tale percorso come servlet. In questo caso, si utilizza un percorso relativo alla Document Root per i non-servlet.
Un'altra attività comune dei servlet è calcolare il percorso relativo all'interno di un servlet. Ad esempio, si potrebbe voler creare un filtro servlet per calcolare l'URL relativo al servlet radice per qualsiasi richiesta di servlet data. Quindi, per un servlet che è legato a http://somedomain/context/, una richiesta a http://somedomain/context/path1/path2 restituirebbe .. e una richiesta a http://somedomain/context/path1/path2/path3 restituirebbe ../...
Inoltre, i servlet possono essere utilizzati per interpretare gli URL relativi nei Servlet e nelle JSP. C'è una differenza nel modo in cui vengono interpretati i riferimenti HTML a seconda che la chiamata provenga da un servlet o da una JSP che è stata chiamata da un servlet.