日韩在线视频线视频免费网站_亚洲韩国欧洲国产日产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
發貼提問
發表回復:
 
     
用戶名:  
密 碼:  
        
注:沒有會員帳號的學員請點擊“注冊”,免費獲得帳號,多謝合作!
 
主站蜘蛛池模板: 高密市| 长岛县| 三穗县| 和平县| 小金县| 安溪县| 紫阳县| 界首市| 阳新县| 龙海市| 会宁县| 嵊泗县| 固始县| 勃利县| 宁强县| 上栗县| 格尔木市| 大理市| 新巴尔虎左旗| 隆尧县| 白玉县| 西宁市| 余姚市| 永城市| 宜川县| 水富县| 枣强县| 镇平县| 安化县| 炉霍县| 福鼎市| 咸宁市| 南召县| 开鲁县| 阿克| 绥江县| 抚顺县| 平罗县| 海城市| 百色市| 绍兴市|