• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

회원 목록페이지 오류

22.12.27 22:51 작성 22.12.27 22:52 수정 조회수 382

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

MVC로 회원 목록을 보는 페이지에서 자꾸 아래와 같은 오류가 뜨네요.


@WebServlet(name = "mvcMemberListServlet", urlPatterns = "/servlet-mvc/members")
public class MvcMemberListServlet extends HttpServlet {

    private MemberRepository memberRepository = MemberRepository.getInstance();

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<Member> members = memberRepository.findAll();

        request.setAttribute("members", members);

        String viewPath = "/WEB-INF/views/members.jsp";
        RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath);
        dispatcher.forward(request, response);
    }
}

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="/index.html">메인</a>
<table>
    <thead>
    <th>id</th>
    <th>username</th>
    <th>age</th>
    </thead>
    <tbody>
    <c:forEach var="item" items="${members}">
        <tr>
            <td>${item.id}</td>
            <td>${item.username}</td>
            <td>${item.age}</td>
        </tr>
    </c:forEach>
    </tbody>
</table>
</body>
</html>

 

https://drive.google.com/file/d/1a_N2abg-wHPZcdTNIJfYokNBI60CdChV/view?usp=sharing

답변 2

·

답변을 작성해보세요.

2

OMG님의 프로필

OMG

2022.12.28

안녕하세요. nn “PNN” p님, 공식 서포터즈 OMG입니다.
.

스프링부트 메이저 버전업이 되면서 발생하는 오류로 보이네요.

링크와 동일한 상황으로 보여 수강생분의 답변을 참고하니 정상 실행됨을 확인하였습니다.

영한님과 서포터즈가 내부적으로 검토하여 메뉴얼 수정을 진행해야 할 것 같네요.

해결이 안될 경우 댓글남겨주세요.
.
감사합니다.

1

안녕하세요. 스프링 부트 3.0 부터는 build.gradle을 다음과 같이 사용하시면 됩니다.

아래 코드에서 주석처리한 javax.servlet:jstl 부분을 제거하시고 나머지 부분을 포함해주시면 됩니다.

   //implementation 'javax.servlet:jstl' //스프링부트 3.0 미만
   implementation 'jakarta.servlet:jakarta.servlet-api' //스프링부트 3.0 이상
   implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' //스프링부트 3.0 이상
   implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //스프링부트 3.0 이상

메뉴얼에도 업데이트 해두겠습니다^^