Java NumberFormatException во время инициализации Tomcat - PullRequest
0 голосов
/ 02 апреля 2019

Когда я пытаюсь инициализировать сервер Tomcat, я получаю сообщение об ошибке:

HTTP Status 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) Примечание. Полная трассировка стека основной причины доступна в журналах сервера.

В чем проблема? Как это исправить?

1 Ответ

0 голосов
/ 02 апреля 2019

Вы пытаетесь привести строку к числу, символ ":" не является числом.

Вы можете разбить строку и создать массив чисел:

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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...