-
Spring 개발 과정중 오류( view.jsp에서의 간단한 고침)개발중 오류 정리 2024. 1. 10. 02:26
물론 오류 잡느라 너무 행복했네요 ㅎㅎ 성장과정의 발판!
나같은 사람들 있으면 안되니까
오류 해결한 것 블로그에 남깁니당<c:forEach items="${reply}" var="reply" > <div class="list-group-item"> <h5 class="mb-1">${reply.writer} / ${reply.regDate}</h5> <p class="mb-1">${reply.content}</p> </div>
jstl을 사용해서 반복문으로 reply에 데이터를 받아와서 뿌려주는 간단한 코드였는데,
HTTP 상태 500 – 내부 서버 오류 타입 예외 보고 메시지 행 [79]에서 [/WEB-INF/views/board/view.jsp]을(를) 처리하는 중 예외 발생 설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다. 예외 org.apache.jasper.JasperException: 행 [79]에서 [/WEB-INF/views/board/view.jsp]을(를) 처리하는 중 예외 발생 77: <c:forEach items="${reply}" var="reply" > 78: <div class="list-group-item"> 79: <h5 class="mb-1">${reply.writer} / ${reply.regDate}</h5> 80: <p class="mb-1">${reply.content}</p> 81: </div> 82: </c:forEach> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:610) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:499) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) javax.servlet.http.HttpServlet.service(HttpServlet.java:596) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286) org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java:502) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:596) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 근본 원인 (root cause) java.lang.NumberFormatException: For input string: "writer" java.lang.NumberFormatException.forInputString(Unknown Source) java.lang.Integer.parseInt(Unknown Source) java.lang.Integer.parseInt(Unknown Source) javax.el.ListELResolver.coerce(ListELResolver.java:144) javax.el.ListELResolver.getValue(ListELResolver.java:64) org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:124) org.apache.el.parser.AstValue.getValue(AstValue.java:168) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:690) org.apache.jsp.WEB_002dINF.views.board.view_jsp._jspService(view_jsp.java:253) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:596) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) javax.servlet.http.HttpServlet.service(HttpServlet.java:596) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286) org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java:502) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:596) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
오류 메시지를 살펴보면 'java.lang.NumberFormatException'이라는 예외가 나타나는데,
이는 'writer'라는 문자열을 정수로 변환하려고 시도하다가 발생한 문제입니다.
원인은 JSTL 라이브러리 선언이 빠진 것과 포맷팅을 담당하는 부분의 선언이 누락된 것이었습니다.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
넣어주고 실행하니 아주 이쁘게 실행이 잘들어갔다. ⚔⚔
'개발중 오류 정리' 카테고리의 다른 글
RNGestureHandlerPackage , Execution failed for task ':app:compileDebugJavaWithJavac'. 안드로이드 빌드 에러 (0) 2024.04.19 accept-charset="UTF-8" (2) 2023.12.30