日韩在线视频线视频免费网站_亚洲韩国欧洲国产日产av_色偷偷88888欧美精品久久久_久久99精品一区二区三区三区

用戶名:  密碼: 記住用戶名和密碼
找回密碼   找回用戶名   宣傳積分   充值   開通課程   終身會員   手機/平板/Mac播放視頻
我愛自學網
客服 點擊這里給我發消息  (QQ:1760002012)   業務合作 點擊這里給我發消息
我愛自學網誠聘錄課講師
當前位置:首頁 >> 學習交流 >> Java網站開發視頻教程學習交流區 >> JAVA圖片驗證碼異常問題
發貼提問
  • 會員:jiangqt
  • 主題:4
  • 回帖:2
  • 積分:0
  • 身份:白金會員
JAVA圖片驗證碼異常問題

現象說明:能刷新出字符,但是常會拋出異常,說是STRING定義有異常,對照老師所講的,沒有錯。有時候在第一次刷新時出現。有時連續要刷新幾次才會出現


異常現象:

016-8-4 15:16:06 org.apache.catalina.core.StandardWrapperValve invoke

嚴重: Servlet.service() for servlet ValidataServlet threw exception
java.lang.StringIndexOutOfBoundsException: String index out of range: 54
at java.lang.String.substring(String.java:1935)
at ptms05.ValidataServlet.doPost(ValidataServlet.java:73)
at ptms05.ValidataServlet.doGet(ValidataServlet.java:32)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)

2016-8-4 15:16:08 org.apache.catalina.core.StandardWrapperValve invoke

源代碼:

//response.setContentType("text/html");
//PrintWriter out = response.getWriter();
//創建圖像
int width=100;
int height=30;
BufferedImage image=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//創建圖層
Graphics   g=image.getGraphics();
//確立畫筆顏色
g.setColor(Color.BLACK);
//創建矩形
g.fillRect(0, 0, width, height);
//在大矩形中畫小矩形
g.setColor(Color.WHITE);
g.fillRect(1, 1, width-2, height-2);

//填充字符
String data="abcdefghijklmnuvwxyzABCDEFGHIJKLMNUVWXYZ1234567890";
//隨機獲取4個字符做為驗證碼
   Random random=new Random();
  for (int i = 0; i < 4; i++) {
 //從DATA的62個字符中隨機取的4個字符
int index=random.nextInt(62);
g.setColor(Color.RED);
g.setFont(new Font("宋體", Font.BOLD, 22));
String str=data.substring(index, index+1);
g.drawString(str, 25*i, 26);

}

//服務器響應頁面的請求
response.setContentType("image/jpeg");
//輸出圖像到瀏覽器
ImageIO.write(image, "jpg", response.getOutputStream());

現象說明:能刷新出字符,但是常會拋出異常



編輯主題     發表于:2016-08-04 15:31:13
  • 會員:jiangqt
  • 主題:4
  • 回帖:2
  • 積分:0
  • 身份:白金會員
2#
已經找到問題所在了,是輸入字符少了數字才會拋出異常
編輯回貼     發表于:2016-08-05 18:59:00
發貼提問
發表回復:
 
     
用戶名:  
密 碼:  
        
注:沒有會員帳號的學員請點擊“注冊”,免費獲得帳號,多謝合作!
 
主站蜘蛛池模板: 淮滨县| 文成县| 天津市| 长岭县| 米脂县| 黑水县| 博乐市| 北海市| 五华县| 庐江县| 桑日县| 松桃| 长汀县| 丰原市| 六安市| 潜山县| 望都县| 景德镇市| 沙河市| 鄂托克旗| 枝江市| 鄂州市| 建昌县| 南投市| 得荣县| 平阳县| 元氏县| 屏边| 松潘县| 拜泉县| 得荣县| 永修县| 泽州县| 墨脱县| 和林格尔县| 屯留县| 南澳县| 麟游县| 五大连池市| 永昌县| 阳泉市|