code: public static String getImageUrl(String imgSrc, BinaryResourcesHandler binaryRsHandler, HttpServletRequest request,
  			HttpServletResponse response) {
  
  		if (binaryRsHandler == null) {
  			throw new IllegalStateException(
  					"You are using a Jawr image tag while the Jawr Binary servlet has not been initialized. Initialization of Jawr Image servlet either failed or never occurred.");
  		}
  
  		String contextPath = request.getContextPath();
  
  		imgSrc = getFullImagePath(imgSrc, binaryRsHandler, request);
  
  		String newUrl = (String) binaryRsHandler.getCacheUrl(imgSrc);
  
  		JawrConfig jawrConfig = binaryRsHandler.getConfig();
  		if (newUrl == null) {
  			try {
  				newUrl = CheckSumUtils.getCacheBustedUrl(imgSrc, binaryRsHandler.getRsReaderHandler(), jawrConfig);
  				binaryRsHandler.addMapping(imgSrc, newUrl);
  			} catch (IOException e) {
  				LOGGER.info("Unable to create the checksum for the image '" + imgSrc + "' while generating image tag.");
  			} catch (ResourceNotFoundException e) {
  				LOGGER.info("Unable to find the image '" + imgSrc + "' while generating image tag.");
  			}
  		}
  
  		if (newUrl == null) {
  			newUrl = imgSrc;
  		}
  
  		String imageServletMapping = jawrConfig.getServletMapping();
  		if ("".equals(imageServletMapping)) {
  			if (newUrl.startsWith("/")) {
  				newUrl = newUrl.substring(1);
  			}
  		} else {
  			newUrl = PathNormalizer.joinDomainToPath(imageServletMapping, newUrl);
  		}
  
  		boolean sslRequest = RendererRequestUtils.isSslRequest(request);
  
  		newUrl = RendererRequestUtils.getRenderedUrl(newUrl, jawrConfig, contextPath, sslRequest);
  
  		return newUrl;
  	}
docs: Returns the image URL generated by Jawr from a source image path
  
  @param imgSrc
  the source image path
  @param binaryRsHandler
  the image resource handler
  @param request
  the request
  @param response
  the response
  @return the image URL generated by Jawr from a source image path