I have an EmailVerification
Servlet mapped with /ev/*
url-pattern.
http://example.com/ev/ce52320570
How can I get this ce52320570
part of the URL in my Servlet?
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String vid = ""; // Here I need to get the id from the URL
}
Considering a Servlet (called
EmailVerification
) mapped to/ev/*
:Yes. In Servlet versions 2.5 and 3.0 (maybe earlier), it'll get the subpath if you map it with
*
, like/ev/*
, as you did.request.getRequestURI()
will get you the requested URL as aString
, like/ev/ce52320570
.request.getPathInfo()
gets you (if exists) everything after/ev/
./ev/123
,getPathInfo()
would give you/123
. The same way, a request to/ev/some/other
,getPathInfo()
would give you/some/other
.request.getQueryString()
should be used if you need the query parameters part of the URL.getRequestURI()
andgetPathInfo()
give you only the path requested. If you need to obtain the query parameters, that is, those after the?
, like/ev/something?query1=value1&other=123
, onlyrequest.getQueryString()
would return thequery1=value1&other=123
part.request.getParameter(parameterName)
if you need the value of a specific query parameter..getParameterValues()
if it is a multivalued parameterMore examples of the URL parts in the request here.
Use
request.getRequestURI()
and remove what you don't need, i.e.request.getRequestURI().replace("/ev/");