0
votes

When I am trying initialize Tomcat server, I get the error:

HTTP Status 500 – Internal Server Error

Type Exception Report

Message java.lang.NumberFormatException: For input string: "0:0:0:0:0:0:0:1"

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: java.lang.NumberFormatException: For input string: "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) Root Cause

java.lang.NumberFormatException: For input string: "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) Note The full stack trace of the root cause is available in the server logs.

What is the problem? How to fix it ?

1

1 Answers

0
votes

You are trying to cast a string to a number, caracter ":" is not a number.

You can split the string and create an array of numbers:

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

or with a loop

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])