亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Servlet里向Session里放變量,在jsp中取數據的問題

Servlet里向Session里放變量,在jsp中取數據的問題

應龍 2016-08-18 12:46:10
servlet中 doGet和doPost都執行doPostpublic 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中<form action="ls" method = "get"> ? ?<input type="text" id = "text1" name ="code" /> ? ?<img ?id="img1" alt="驗證碼" src="<%=request.getContextPath() %>/is" /> ? ?<a href="javascript:reCode()">看不清楚,換一張</a> ? ?<br/> ? ?驗證碼:<%=(String)session.getAttribute("picode") %> ? ?<input type="submit" id="btn1" value="驗證"/>? ? </form>這里第一次是在頁面顯示"驗證碼:null"之后每一次顯示的驗證碼都是上一次的驗證碼比如這次顯示的圖片是:809Y 驗證碼:null下一次就是圖片是:8278 驗證碼:809Y這是什么原因。不太明白。
查看完整描述

3 回答

?
qq_獨行_者_1

TA貢獻1條經驗 獲得超0個贊


你這這個頁面執行實際不對,應該在打開這個頁面之前先執行驗證碼。然后頁面顯示的時候才會顯示session里面的

查看完整回答
反對 回復 2016-08-18
?
yemaa

TA貢獻77條經驗 獲得超14個贊


=(String)session.getAttribute("picode")這個會先執行,然后在執行=request.getContextPath() %>/is;可以測試的

加個for循環你就可以看到是哪個先執行

for(int i=0;i<1000000;i++){
?? ??? ??? ?System.out.println(i);
?? ??? ?}
?? ??? ?request.getSession().setAttribute("picode", sb.toString());

?? ??? ?ImageIO.write(bi,"jpg",response.getOutputStream());

查看完整回答
反對 回復 2016-08-18
  • 應龍
    應龍
    那怎么解決那,要改執行順序嗎?
?
HansonQ

TA貢獻223條經驗 獲得超56個贊

你這這個頁面執行實際不對,應該在打開這個頁面之前先執行驗證碼。然后頁面顯示的時候才會顯示session里面的

查看完整回答
反對 回復 2016-08-18
  • 3 回答
  • 0 關注
  • 3103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號