ABOUT ME

Steadily

Today
Yesterday
Total
  • 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" %>


    넣어주고 실행하니 아주 이쁘게 실행이 잘들어갔다. ⚔⚔

Designed by Tistory.