后端能生成验证码图片,但在登录时无法显示,图片请求一直为302状态,但验证码确实生成了(debug后显示),求赐教
302 是URL重定向问题,多半是因为服务器端的拦截或者其他后端代码处理造成,建议看看get/post请求写法有没问题
把验证码请求作为jpg图片资源请求试试,例如使用谷歌的验证码;
<!-- validate code -->
<servlet>
<servlet-name>Kaptcha</servlet-name>
<servlet-class>
com.google.code.kaptcha.servlet.KaptchaServlet
</servlet-class>
<init-param>
<param-name>kaptcha.border</param-name>
<param-value>no</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.font.color</param-name>
<param-value>black</param-value>
</init-param>
<init-param>
<param-name>kaptcha.background.clear.from</param-name>
<param-value>white</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.char.space</param-name>
<param-value>5</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.char.length</param-name>
<param-value>4</param-value>
</init-param>
<init-param>
<param-name>kaptcha.noise.impl</param-name>
<param-value>com.google.code.kaptcha.impl.NoNoise</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Kaptcha</servlet-name>
<url-pattern>/Kaptcha.jpg</url-pattern>
</servlet-mapping>
前端引用路径:
<img id="captchaImg" class="pic-code" style="width:96px;height:34px;" src="<%= contextPath %>/Kaptcha.jpg">
直接将验证码的请求路径作为img的src的路径。