강의

멘토링

로드맵

Inflearn brand logo image

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

sim2님의 프로필 이미지
sim2

작성한 질문수

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

JSP로 회원 관리 웹 애플리케이션 만들기

JSP 질문

작성

·

210

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

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

[질문 내용]


서블릿에서는 request, response로 직접 응답 정보를 설정하고 화면에 어떻게 뿌려주는 지를 설정해줬었는데 JSP는 이 과정을 저희가 작성해줄 필요 없이 JSP에서 자동으로 해주는건가요??

`MemberFormServlet, MemberListServlet, MemberSaveServlet` 같은 파일 없이도 내부적으로 이런 과정이 추상화되어 있기 때문에 가능한건지 JSP에서 어떻게 클라이언트 요청과 응답이 진행되는 건지 궁금합니다.

 

그리고 기존에는 text/html 형식이면 이거대로 하고 단순히 메시지 바디로 데이터 전송을 하는 경우에도 request, response로 제어가 가능했다면 jsp는 html 파일을 자체적으로 지원하는 형태처럼 보이는데 그러면 jsp의 경우에는 html과 함께 쓰일 때만 사용하는 것인가여?

답변 2

0

안녕하세요. sim2님, 공식 서포터즈 코즈위버입니다.

JSP는 결국 백엔드에서 동적으로 HTML을 생성하는 프레임워크 입니다. 동적으로 HTML을 생성한다는 것은 클라이언트의 요청에 따라 같은 URL을 호출하여도 다른 HTML을 응답받을 수 있다는 의미입니다.

 

서블릿에서 response 객체에 어떤 값을 응답할지 개발자가 직접 제어했다면 JSP는 이 response 를 생성하기전 단계에서 처리됩니다. JSP 문법에 따라 적절한 HTML 코드가 동적으로 생성되며 이 HTML 코드를 response 에 실어 응답하게 됩니다.

감사합니다.

0

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

JSP에서 request와 response의 사용에 대해 궁금하신 것 같습니다. JSP(JavaServer Pages)는 기본적으로 서블릿 위에 동작하는 기술입니다. 서블릿에서는 request와 response 객체를 직접 다루어야 하지만, JSP는 이를 간소화합니다.

JSP의 작동 방식

  • 자동 서블릿 변환: JSP 파일은 서버(WAS)에서 서블릿으로 변환된다. JSP 파일이 제출되면, JSP 컴파일러가 서블릿 클래스로 변환하여 자바 코드로 해석합니다. 그러므로 JSP 자체가 서블릿으로 변환되어 동작합니다.
  • 서블릿 추상화: JSP 내부에서 scriptlet 태그 <% %> 등을 사용하여 Java 코드를 삽입할 수 있습니다. 이때 내부적으로 request와 response 객체는 자동으로 JSP 페이지에 제공됩니다. 즉, JSP가 자동으로 서블릿 라이프사이클을 제어하고 이러한 객체들을 사용할 수 있게 해줍니다.
  • 런타임 시: JSP 페이지 구문은 HTML로 변환된 후 웹 브라우저로 전송되며, 동적인 컨텐츠를 생성하기 위해 사용됩니다.

좀 더 다양한 관련 질문들:

위의 설명이 도움이 되었길 바랍니다. JSP는 초기 Java 웹 개발에서 사용되었지만, 현대 개발에서는 더 많은 기능을 제공하는 타임리프(Thymeleaf)와 같은 템플릿 엔진으로 대체되고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

sim2님의 프로필 이미지
sim2

작성한 질문수

질문하기