【问题标题】:Java NumberFormatException during Tomcat initializeTomcat初始化期间的Java NumberFormatException
【发布时间】:2019-08-23 20:22:02
【问题描述】:

当我尝试初始化 Tomcat 服务器时,出现错误:

HTTP 状态 500 – 内部服务器错误

键入异常报告

消息 java.lang.NumberFormatException:对于输入字符串:“0:0:0:0:0:0:0:1”

描述服务器遇到了一个意外情况,导致它无法完成请求。

例外

org.apache.jasper.JasperException:java.lang.NumberFormatException:对于输入字符串:“0:0:0:0:0:0:0:1” org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:606) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:482) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 根本原因

java.lang.NumberFormatException:对于输入字符串:“0:0:0:0:0:0:0:1” java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68) java.base/java.lang.Integer.parseInt(Integer.java:658) java.base/java.lang.Integer.parseInt(Integer.java:776) org.apache.jsp.index_jsp.validateInetAddress(index_jsp.java:466) org.apache.jsp.index_jsp.ValidateIP(index_jsp.java:405) org.apache.jsp.index_jsp._jspService(index_jsp.java:768) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 注意服务器日志中提供了根本原因的完整堆栈跟踪。

有什么问题?如何解决?

【问题讨论】:

    标签: tomcat server


    【解决方案1】:

    您正在尝试将字符串转换为数字,字符“:”不是数字。

    您可以拆分字符串并创建一个数字数组:

    String string = "0:0:0:0:0:0:0:1";
    String[] parts = string.split(":");
    Int part1 = Integer.parseInt(parts[0]); // 0
    Int part2 = Integer.parseInt(parts[1]); // 0
    Int part3 = Integer.parseInt(parts[2]); // 0
    Int part4 = Integer.parseInt(parts[3]); // 0
    Int part5 = Integer.parseInt(parts[4]); // 0
    Int part6 = Integer.parseInt(parts[5]); // 0
    Int part7 = Integer.parseInt(parts[6]); // 0
    Int part8 = Integer.parseInt(parts[7]); // 1
    

    或循环

    String string = "0:0:0:0:0:0:0:1";
    String[] parts = string.split(":");
    int[] nums = new int[parts.length];
    for (int i = 0; i < parts.length-1; i++)
      nums[i] = Integer.parseInt(parts[i])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 2023-01-19
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      • 2018-11-29
      相关资源
      最近更新 更多