今天遇到一个奇葩的问题:
用tomcat6发布项目,验证码不显示,
但是用tomcat7发布这个项目,验证码就会显示.
于是打开源码,发现生成验证码的java类是这样的:
<span style="font-size:18px;">@WebServlet(name="verificationCode", urlPatterns={"/image.jpg"})
/* */ public class VerificationCodeServlet
/* */ extends HttpServlet
/* */ {
/* */ private Color getRandColor(int fc, int bc)
/* */ {
/* 28 */ Random random = new Random();
/* 29 */ if (fc > 255)
/* 30 */ fc = 255;
/* 31 */ if (bc > 255)
/* 32 */ bc = 255;
/* 33 */ int r = fc + random.nextInt(bc - fc);
/* 34 */ int g = fc + random.nextInt(bc - fc);
/* 35 */ int b = fc + random.nextInt(bc - fc);
/* 36 */ return new Color(r, g, b);</span>
也就是说,生成验证码,页面访问后端,是通过servlet访问的,而这个servlet是通过注解方式来实现的。
但是tomcat7之前,是不支持@WebServlet注解的。问题解决。