inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

섹션 3. 서블릿, JSP, MVC 패턴

해결된 질문

177

권정익

작성한 질문수 60

0

@WebServlet(name = "memberFormServlet", urlPatterns = "/servlet/members/new-form")
public class MemberFormServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");

        PrintWriter w = response.getWriter();
        w.write("<!DOCTYPE html>\n" +
                "<html>\n" +
                "<head>\n" +
                " <meta charset=\"UTF-8\">\n" +
                " <title>Title</title>\n" +
                "</head>\n" +
                "<body>\n" +
                "<form action=\"/servlet/members/save\" method=\"post\">\n" +
                " username: <input type=\"text\" name=\"username\" />\n" +
                " age: <input type=\"text\" name=\"age\" />\n" +
                " <button type=\"submit\">전송</button>\n" +
                "</form>\n" +
                "</body>\n" +
                "</html>\n");
    }
}

http://localhost:8080/servlet/members/new-form에 들어가서 이름하고 나이를 입력하니까 오류가 안나옵니다...

아직 /servlet/members/save 를 만들지 않아서 오류 페이지가 나와야 하는데,

그리고 제가 입력한 값이랑 다르게 나오는데 왜 이런거죠...ㅠ

새로고침을 해도 해결되지 않습니다ㅠㅠ

 

++ localhost:8080을 치고 들어가도 저 화면이 뜹니다ㅠㅠ

 

spring mvc

답변 1

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

/servlet/members/save 를 아직 만들지 않았음에도 불구하고 오류 페이지 대신 다른 페이지가 나타나고, 예상과 다른 값이 나타나는 문제에 대해 설명드리겠습니다.

이 현상은 웹 서버에 이미 /servlet/members/save 요청을 처리하는 다른 로직이 존재하거나, 서블릿 매핑이 예상과 다르게 구성되어 있을 가능성이 있습니다. 또한 본문의 이미지와 같이 입력한 값과 다르게 서버로부터 반환된 JSON 응답은 서버 측에서 입력 받은 데이터를 잘못 처리하거나, 다른 논리에 의해 수정된 경우일 수 있습니다.

로컬호스트(localhost:8080)에서 기대했던 페이지 대신 다른 화면이 나타나는 경우는 일반적으로 서버의 루트 경로(/)에 대한 요청 처리가 기대와 다르게 구성되어 있을 수 있음을 나타냅니다. 이는 웹 서버 설정, 서블릿 매핑, 또는 스프링 MVC의 컨트롤러 구성에 차이가 있을 때 발생할 수 있습니다.

그러므로 다음 점검 사항을 고려해보실 것을 권장 드립니다:

  1. 서버의 서블릿 매핑이 올바르게 설정되어 있는지 확인하세요.
  2. 서버에 /servlet/members/save 요청을 처리하는 다른 코드나 로직이 있는지 검토하세요.
  3. 로컬 개발 환경에서 사용 중인 웹 서버(예: Tomcat, Jetty)의 설정을 확인하여, 요청이 어떻게 처리되고 있는지 파악하세요.
  4. Spring Boot 같은 경우는 내장 서블릿 컨테이너를 사용하여 자동 구성을 제공합니다. 현재 구성이 Spring Boot의 기본 설정과 어떻게 다른지 확인해보세요.

위의 점검을 통해 문제의 원인을 좀 더 구체적으로 파악할 수 있을 것입니다.

servlet과 container에 대한 질문입니다

0

21

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

62

1

jsp 의존성 수정 요청

0

75

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

142

1

save() 메서드 문의

0

65

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

99

1

request-body-json

0

83

2

MVC 패턴의 적용 단위

0

94

1

RequestMapping을 이용한 핸들러, 어댑터

0

118

2

save 후 결과화면

0

86

2

jsp를 이용한 view

0

97

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

175

1

수업 코드 제공 관련 문의

0

97

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

98

3

파일 오픈 시

0

68

1

스프링 배치 관련

0

77

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

112

1

postman으로 /request-body-json-v1 호출시 500 error

0

94

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

77

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

111

1

console log 출력 관련 질문입니다.

0

73

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

138

1

html 변경하는 부분 적용 문제

0

100

1

한글 깨짐

0

76

2