• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

Servlet里向Session里放变量,在jsp中取数据的问题

servlet中       
doGet和doPost都执行doPost
public void doPost(HttpServletRequest request, HttpServletResponse response)
                        throws ServletException, IOException {
                BufferedImage bi = new BufferedImage(68,22,BufferedImage.TYPE_INT_RGB);
                Graphics g = bi.getGraphics();
                Color c = new Color(200,150,255);
                g.setColor(c);
                g.fillRect(0, 0, 68,22);
                char[] code = "ABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789".toCharArray();
                Random r= new Random();
                int len = code.length,index;
                StringBuffer sb = new StringBuffer();
                for(int i =0; i < 4; i ++){
                        index = r.nextInt(len);
                        g.setColor(new Color(r.nextInt(88),r.nextInt(188),r.nextInt(255)));
                        g.drawString(code[index] + "", (i*15)+3,18 );
                        sb.append(code[index]);
                }
                request.getSession().setAttribute("picode", sb.toString());
                ImageIO.write(bi,"jpg",response.getOutputStream());
        }


jsp中

            
            
            看不清楚,换一张
            

            验证码:
            
   
这里第一次是在页面显示"验证码:null"之后每一次显示的验证码都是上一次的验证码
比如这次显示的图片是:809Y 验证码:null
下一次就是图片是:8278 验证码:809Y
这是什么原因。不太明白。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与3

你这这个页面执行实际不对,应该在打开这个页面之前先执行验证码。然后页面显示的时候才会显示session里面的

使用道具 举报

=(String)session.getAttribute("picode")这个会先执行,然后在执行=request.getContextPath() %>/is;可以测试的
加个for循环你就可以看到是哪个先执行


for(int i=0;i

使用道具 举报

你这这个页面执行实际不对,应该在打开这个页面之前先执行验证码。然后页面显示的时候才会显示session里面的

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!