인프런 커뮤니티 질문&답변

Corin님의 프로필 이미지

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Hello 서블릿

HTTP 요청 메시지 로그로 확인하기

작성

·

589

0

HTTP 요청 메시지 로그로 확인하기 위해

application.properties에 다음과 같이 작성하고

spring.application.name=Servlet
logging.level.org.apache.coyote.http11=debug

재실행 후에 http://localhost:8080/hello?username=park으로 요청을 보내니 다음과 같이 로그가 찍혔습니다.

HTTP Request를 파싱하는데 에러가 발생합니다.

어떻게 해결해야 하나요?
답변해주시면 감사하겠습니다.

HelloServlet 코드는 다음과 같습니다!

package com.example.servlet.basic;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "HelloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("HelloServlet.service");
        System.out.println("request = " + request);
        System.out.println("response = " + response);

        String username = request.getParameter("username");
        System.out.println("username = " + username);

        // header
        response.setContentType("text/plain");
        response.setCharacterEncoding("utf-8");

        // html 안에 들어간다.
        response.getWriter().write("hello " + username);
    }
}

 

 

답변 2

4

스프링 부트가 사용하는 톰캣이 업데이트 되면서 라이브러리에 변경사항이 발생했네요.

스프링 부트 3.2 이상을 사용한다면

다음과 같이 debug에서 trace로 변경하시면 됩니다.

logging.level.org.apache.coyote.http11=trace

강의 매뉴얼에도 바로 반영해야겠네요 🙂

감사합니다.

(김영한 개발자님의 답입니다!)

0

안녕하세요. Corin님, 공식 서포터즈 y2gcoder입니다.

우선 EOFException 관련한 부분은 보시다시피 Debug 레벨에서 뜨는 에러로 실행에만 문제가 없으시다면 무시하셔도 됩니다! 실제로 해당 예외 관련하여 많은 분들께서 질문을 올려주셨는데, 똑같이 소스코드를 받아 실행해도 환경에 따라 증상이 발현되지 않는 경우도 있었습니다!

그래도 찝찝하시다면 다음 링크(클릭)을 참고해서 한 번 시도해보시고, 다른 해결 방법을 찾아 공유해주신다면 저희와 같이 수업을 듣는 인프러너분들께 큰 도움이 될 거라 생각합니다!

 

감사합니다.

Corin님의 프로필 이미지

작성한 질문수

질문하기