• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

my image tag will not call servlet please help

 
Ramkumar Subburaj
Ranch Hand
Posts: 83
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I placed jcaptcha-all.jar and commons jar i am not getting captcha image
please help what is problem?

registation.jsp

<tr>
<td valign="middle">Enter these letters:<br/>
<img src="/jcaptcha" align="middle" alt="Enter the characters appearing in this image" border="1"/></td>
<td><input type="text" name="inCaptchaChars"/>
</td>

web.xml
<servlet>
<servlet-name>jcaptcha</servlet-name>
<servlet-class>slj.members.servlet.ImageCaptchaServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>


<servlet-mapping>
<servlet-name>jcaptcha</servlet-name>
<url-pattern>/jcaptcha</url-pattern>
</servlet-mapping>

ImageCaptchaServlet.java

package slj.members.servlet;
import com.octo.captcha.service.CaptchaServiceException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;


public class ImageCaptchaServlet extends HttpServlet {


public void init(ServletConfig servletConfig) throws ServletException {

super.init(servletConfig);

}

protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
System.out.println("hai");
byte[] captchaChallengeAsJpeg = null;
// the output stream to render the captcha image as jpeg into
ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
try {
// get the session id that will identify the generated captcha.
//the same id must be used to validate the response, the session id is a good candidate!
String captchaId = httpServletRequest.getSession().getId();
// call the ImageCaptchaService getChallenge method
BufferedImage challenge =
CaptchaServiceSingleton.getInstance().getImageChallengeForID(captchaId,
httpServletRequest.getLocale());

// a jpeg encoder
JPEGImageEncoder jpegEncoder =
JPEGCodec.createJPEGEncoder(jpegOutputStream);
jpegEncoder.encode(challenge);
} catch (IllegalArgumentException e) {
httpServletResponse.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
} catch (CaptchaServiceException e) {
httpServletResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}

captchaChallengeAsJpeg = jpegOutputStream.toByteArray();

// flush it in the response
httpServletResponse.setHeader("Cache-Control", "no-store");
httpServletResponse.setHeader("Pragma", "no-cache");
httpServletResponse.setDateHeader("Expires", 0);
httpServletResponse.setContentType("image/jpeg");
ServletOutputStream responseOutputStream =
httpServletResponse.getOutputStream();
responseOutputStream.write(captchaChallengeAsJpeg);
responseOutputStream.flush();
responseOutputStream.close();
}
}


CaptchaServiceSingleton.java
package slj.members.servlet;

import com.octo.captcha.service.image.ImageCaptchaService;
import com.octo.captcha.service.image.DefaultManageableImageCaptchaService;

public class CaptchaServiceSingleton {

private static ImageCaptchaService instance = new DefaultManageableImageCaptchaService();

public static ImageCaptchaService getInstance(){
return instance;
}
}
 
Chaminda Amarasinghe
Ranch Hand
Posts: 412
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
<img src="/jcaptcha" align="middle" alt="Enter the characters appearing in this image" border="1"/></td>


Is your context in root? or src should be like src="/mycontext/jcaptcha"

Check that
 
udyan keshari
Greenhorn
Posts: 1
Eclipse IDE Java Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Chaminda Amarasinghe wrote:
<img src="/jcaptcha" align="middle" alt="Enter the characters appearing in this image" border="1"/></td>


Is your context in root? or src should be like src="/mycontext/jcaptcha"

Check that


Thanks A lot .... it resolved my problem .......


Udyan
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic