Вы можете использовать следующий код для создания капчи. Обратите внимание, что вам нужно добавить commons-lang-2.5.jar в ваш путь к классам.
String secutiryCode = RandomStringUtils.random(5, new char[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'});
req.getSession().setAttribute("secutiryCode", secutiryCode);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
URL url = new URL("http://util.krispot.com/util/SecurityImage.jpg?secutiryCode=" + secutiryCode);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
for(int i = bis.read(); i > -1;i = bis.read()) {
baos.write(i);
}
BufferedOutputStream bos = new BufferedOutputStream(resp.getOutputStream());
bos.write(baos.toByteArray());
bos.close();
Спасибо, Навдип Сингх