2

こんにちは、
私は GWT-Ext 2.0.3 を使用しています。プロジェクトに SimpleCaptcha を実装しました。パネルをリロードしてもキャプチャ イメージを更新できません。simplecaptcha-1.2.1.jar ファイルを使用してキャプチャを実装しています。

  • キャプチャ画像を表示するサーブレットを作成しました。
  • import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import nl.captcha.Captcha;
    import nl.captcha.backgrounds.GradiatedBackgroundProducer;
    import nl.captcha.servlet.CaptchaServletUtil;
    import nl.captcha.servlet.SimpleCaptchaServlet;
    
    public class ExtendedCaptchaServlet  extends SimpleCaptchaServlet  {
    
        private static final long serialVersionUID = -3280477565969758716L;
    
        //@Override
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
    
        throws ServletException, IOException {
    
            HttpSession session = req.getSession();
    
            Captcha captcha = new Captcha.Builder(200, 50)
    
            .addText()
    
            .addBackground(new GradiatedBackgroundProducer()).addNoise()
    
            .addBorder()
    
            .build();
    
            session.setAttribute("captcha", captcha);
            CaptchaServletUtil.writeImage(resp, captcha.getImage());
    
        }
    }
    

  • web.xml のエントリ
  • <servlet>
        <servlet-name>SimpleCaptcha</servlet-name>
        <servlet-class> com.server.test.ExtendedCaptchaServlet 
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SimpleCaptcha</servlet-name>
        <url-pattern>/SimpleCaptcha.jpg</url-pattern>
    </servlet-mapping>
    

  • 私の GWT パネル
  • FormPanel formPanel = new FormPanel();
    Image captchaImage = new Image("/SimpleCaptcha.jpg");
    formPanel.add(captchaImage);
    

    ブラウザからページを更新するたびに、新しいキャプチャ画像が表示されます。しかし、フォームパネルをリロードすると画像が表示されません。


    誰でも私を助けることができますか?

    4

    1 に答える 1

    0

    「タイムスタンプ」を追加してみてください

    Image captchaImage = new Image("/SimpleCaptcha.jpg?" + Math.floor(Math.random()*100));
    
    于 2012-07-26T12:06:11.520 に答える