안녕하세요.
백견불여일타로 공부하고 있습니다.
예제를 따라 쳐보면서 하고 있는데 그대로 쳐도 익셉션 에러가 나서 질문 드립니다.
에러가 나는 예제는 100페이지의 유효성 체크하기 입니다.
자바스크립트를 그대로 치고 jsp에도 폼의 name과 onclick도 그대로 쳤습니다.
허나
아이디를 입력해달라는 alert 창은 뜨는데..
나이 입력에서 에러가 납니다.
나이 입력하는 창을 숫자를 입력해도, 공백으로 입력해도
HTTP Status 500 - For input string: ""
type Exception report
message For input string: ""
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NumberFormatException: For input string: ""
java.lang.NumberFormatException.forInputString(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
unit05.ParamServlet.doGet(ParamServlet.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.55 logs.
이런 에러가 나오며, 이클립스에서는
9월 07, 2014 4:39:29 오후 org.apache.catalina.core.StandardWrapperValve invoke
심각: Servlet.service() for servlet [unit05.ParamServlet] in context with path [/web-study-02] threw exception
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at unit05.ParamServlet.doGet(ParamServlet.java:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
익셉션 에러가 뜹니다.
자바 int age=Integer.parseInt(request.getParameter("age")); 이 부분이라고 나옵니다.
해결 책을 알려주세요..ㅠ
감사합니다.
JSP 파일과 서블릿 파일 그리고 JS 파일을 chief@roadbook.co.kr로 보내주시면 고맙겠습니다.
그 전에 예제 파일을 다운로드 받은 후에 이클립스에 불러와서 실제 타이핑한 소스와 비교를 해보시기 바랍니다.
제 생각으로는 JSP에서 자바스크립트 링크를 걸어주지 않으신 것 같은데요.
102페이지 8번라인인데, 한번 체크 바랍니다.