Ich habe eine JSP Datei mit der nächsten Zeile:Tomcat jsp Parsing
<img src="/captcha"/>
Und ein Servlet, die auf "/captcha
" abgebildet wird. Was passiert (meiner Meinung nach): Wenn ein Benutzer die JSP-Datei anfordert, analysiert Tomcat sie in einem Thread und ruft das Servlet in einem neuen Thread auf. Ich möchte die Servlet-Anfrage zuerst ausgeführt werden, bevor Rendering Jsp-Code, der nach der <img srс="/captcha"/>
ist Gibt es eine Möglichkeit, es zu tun?
Sorry für schreckliche Erklärung.
aktualisieren Dank Elliott Frisch für die Klärung, wie es funktioniert. Lass mich genauer sein. Das Servlet gibt dem Cookie einen Wert, der in der Jsp <input type="hidden" name="captcha-id" value="${cookie.captchaId.value}">
ein bisschen später angefordert wird. Ein Browser erfüllt diese Zeile, bevor das Servlet seine Ausführung beendet. Als Ergebnis sehe ich einen ungültigen Cookie-Wert. Kannst du mir sagen, wie ich damit umgehen soll?
Möglicherweise gibt es eine Möglichkeit, die gewünschte Funktionalität zu erhalten. Könnten Sie die Captcha-ID in eine session-scope-Variable anstatt in einen Cookie setzen? Wenn ja, könnte die JSP möglicherweise warten, bis diese Variable gesetzt ist, bevor der letzte Abschnitt der Seite an den Client gesendet wird. Wir könnten hier Democode schreiben, wenn Sie diese Idee ausprobieren möchten. – rickz
Können Sie Ihr Captcha nicht als Bild über JavaScript vorladen? http://www.thonky.com/javascript-and-css-guide/javascript-image-preload – Jaumzera