2013-04-27 4 views
3

안녕하세요 저는 홀수 또는 짝수 웹 서비스를 만들었고 netbeans에서 webservice에 대한 클라이언트를 maked했을 때이 오류가있었습니다. 여기에 웹 서비스 :java.lang.NumberFormatException : 입력 문자열 : "추가"

@WebService(serviceName = "Par_Impar") 
public class Par_Impar { 

/** 
* Web service operation 
*/ 
@WebMethod(operationName = "operation") 
public String operation(@WebParam(name = "val") int val) { 
    if(val%2!=0){ 
     //daca reminder-ul nu este 0 este impar 
     return("IMPAR"); 
    } 
    else { 
     //daca reminder-ul este 0 atunci este par 
     return("PAR"); 
    } 
} 

} 

의 index.jsp :

<html> 
<head> 
    <title>PAGINA JSP</title> 
</head> 
<body> 
    <form action="action.jsp" method="post"<br/> 
      Introdu numarul :<input type="text" name="nr"/><br/> 
     <input type="submit" value="Testeaza"/> 
</form> 

</body> 

action.jsp는 :

<%-- 
Document : action 
Created on : Apr 27, 2013, 5:28:45 PM 
Author  : ARB 
--%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 
    <h1>Hello World!</h1> 
<%-- start web service invocation --%><hr/> 
<% 
String add=request.getParameter("numar"); 
int aa=Integer.parseInt("add"); 
try { 
mypack.ParImpar_Service service = new mypack.ParImpar_Service(); 
mypack.ParImpar port = service.getParImparPort(); 
// TODO initialize WS operation arguments here 
int val=aa; 
    // TODO process result here 
java.lang.String result = port.operation(aa); 
out.println("Result = "+result); 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
} 
%> 
<%-- end web service invocation --%><hr/> 
</body> 
</html> 

제발 도와주세요. 고맙습니다 ! 라인 위

답변

4
int aa=Integer.parseInt("add"); 

은 다음과 같아야합니다

int aa=Integer.parseInt(add); 

parseInt

는 기수의 부호있는 정수가 2 번째의 인수로 을 지정된 캐릭터 라인의 인수를 구문 분석합니다. 문자열의 문자는 Character.digit (char, int)가 음수가 아닌 값을 반환하는지 여부에 따라 결정되는 지정된 기수의 자리 여야합니다. 단 첫 문자는 ASCII 마이너스 기호 '-'입니다 '\ u002D') ~ 은 음수 값을 나타내거나 ASCII 플러스 기호 '+'('\ u002B')를 으로 지정하면 양수 값을 나타냅니다. 결과 정수 값이 리턴됩니다.

  1. 첫 번째 인수가 null인지, 길이 제로의 캐릭터 라인이다 다음 다음과 같은 상황이 발생하면

    NumberFormatException 형의 예외가 슬로우됩니다.

  2. 기수가 Character.MIN_RADIX보다 작거나 Character.MAX_RADIX보다 크다.
  3. 첫 문자가 '-'('\ u002D') 또는 더하기 기호 '\'('\ u002B') 일 수 있다는 점을 제외하고는 문자열의 모든 문자는 지정된 기수의 자릿수가 아닙니다 ) 문자열이 길이 1보다 길면 제공됩니다.

  4. 문자열로 표시된 값은 int 유형의 값이 아닙니다. 당신의 index.jsp에서

+0

나는 int aa = Integer.parseInt (add)를 넣으려고 시도했다. 그리고 이것으로 내가 한 모든 것입니다. 왜냐하면 나는 이것에서 새롭고 많이 배울 필요가 있기 때문입니다. 이제 숫자를 입력하고 제출 버튼을 눌러 웹 서비스를 시작하면 결과는 다음과 같습니다. java.lang.NumberFormatException : null. 수정해야 할 부분을 보여 줄 수 있습니까? 답해 주셔서 감사합니다. 네가하는 일에 고맙다. 다시 한 번 감사드립니다! –

+0

@ AndreiR.Beraru 나는'request.getParameter ("numar")'이 메소드가'null'을 리턴하고 있다고 생각하여 예외를 얻는다. –

0

당신은 nr 명명 된 매개 변수를 전송되지만 action.jsp에 당신은 numar라는 매개 변수를 검색하고 있습니다. 요청에 그러한 매개 변수가 없기 때문에 결국 null을 구문 분석합니다. @Achintya가 말한 내용도 적용됩니다.

+0

고마워요! 나는 그것을 보지 못했다. 다들 감사 해요 ! –

+0

답변으로 문제가 해결되면 답변을 수락 한 것으로 간주하십시오. :-) – Akshay

관련 문제