【发布时间】:2013-01-06 23:03:22
【问题描述】:
我正在使用SimpleCaptcha 来保护我们的联系表。它运行良好,但只有在重新加载页面后。
Servlet 是nl.captcha.servlet.StickyCaptchaServlet,所以它不应该在重新加载后改变图像。但是当第一次打开页面时,图像只是没有加载。但是,重新加载后一切正常。
web.xml
验证码由在 /services 运行的应用程序提供。
<web-app>
<servlet>
<servlet-name>captcha</servlet-name>
<servlet-class>nl.captcha.servlet.StickyCaptchaServlet<servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>captcha</servlet>
<url-pattern>/captcha.png</url-pattern>
</servlet-mapping>
</web-app>
html
<img src="/services/captcha.png">
服务器
我在带有Java 1.7.0_07 的Windows 7 64bit 机器上使用tomcat-7.0.34。
问题
为什么图片只有在重新加载后才会显示?有什么想法吗?
【问题讨论】:
-
您的
StickyCaptchaServlet配置为/captcha.png而您在html 页面中使用/services/captcha.jpg这是真实的还是只是拼写错误?你还有其他的Servlet这个应用程序吗?你的<load-on-startup>配置是什么? -
我的错,我复制错了...在问题中对其进行了编辑。我还有另外两个 servlet,都用于联系表单,都检查验证码是否已解决。目前没有
<load-on-startup>配置。 -
尝试添加
<load-on-startup>并为您的验证码服务器设置比使用该验证码的其他 servlet 更大的值 -
我试过了,但是不行。即使我直接访问 servlet(例如
localhost:8080/services/captcha.png),它也需要重新加载才能显示验证码。
标签: java servlets captcha simplecaptcha