Using path information package com.ack.web.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * For the web application, named 'ack' this servlet * outputted the following when run on our machines * with the URL: * * http://localhost:8080/ack/servlet/ * com.ack.web.servlet.UsingPathInformation/images/hey.gif * * URL Path: /images/hey.gif * Physical Path: E:\servlets\ack\images\hey.gif * Resource Path: E:\servlets\ack\index.jsp * Web Application Path: /ack * */ public class UsingPathInformation extends HttpServlet { public void doGet( HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException { res.setContentType( "text/html" ); PrintWriter pw = res.getWriter(); // work with extra path information if( req.getPathInfo() != null ) { pw.println( "
URL Path: " + req.getPathInfo() ); pw.println( "
Physical Path: " + req.getPathTranslated() ); } else { pw.println( "
No extra path information" ); } // get physical path of something without extra path information pw.println( "
Resource Path: " + getServletContext().getRealPath( "/index.jsp" ) ); // get the URL path of the current web application pw.println( "
Web Application Path: " + req.getContextPath() ); } }