서블릿(1)

2024. 10. 10. 17:25Web Development/스프링 MVC 1편

 

1. 프로젝트 생성

사전 준비

- java 17 이상 설치

- IDE: Intelli J 또는 Eclipse 설치

 

스프링 부터 스타터 사이트로 이동해서 스프링 프로젝트 생성

https://start.spring.io/

 

 

 

- 'generate' 버튼을 클릭하여 다운로드

 

- 스프링 부트 3.0 관련 자세한 내용은 다음 링크를 확인해주세요: https://bit.ly/springboot3

 

자주 하는 질문

인프런 스프링, JPA 강의 자주 하는 질문 목차 목차 질문하기 질문하는 방법 질문용 파일 업로드 - 구글 드라이브 업로드 공통 강의 코스 문의 학습 방법 문의 블로그 정리, 깃허브 업로드 실행중

docs.google.com

 

 

- 압축 푼 폴더를 intelli J 나 Eclipse에서 open

 

 

- ServletApplication.java 에서 run -> console에 'tomcat started on port 8080~' 메시지 확인

(서버가 정상적으로 실행됨)

 

 

 

- postman 설치 :  api 테스트 시 유용함

: Download Postman | Get Started for Free

 

Download Postman | Get Started for Free

Try Postman for free! Join 30 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.

www.postman.com

 

 

 

 


 

Hello 서블릿

스프링 부트 환경에서 서블릿을 등록하고 사용해보자.

 

- 참고: 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고,그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행하면 된다. 하지만 이 과정은 매우 번거롭다. 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다.

 

@ServletComponentScan

스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan 을 지원한다.

- 자동으로 현재 내 패키지를 다 뒤져서 서블릿을 모두 찾아 등록해서 실행할 수 있도록 도와준다.

 

- hello.servlet 아래에 basic 이라는 package를 생성한다.

 

- HelloServlet 이라는 java Class파일 생성

- HttpServlet 을 상속(extends HttpServlet)

- @WebServlet 어노테이션 사용

- ctrl+O 를 눌러 service 를 검색하여, 열쇠모양의 메소드를 클릭(protected)

package hello.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 req, HttpServletResponse resp) throws ServletException, IOException {
        super.service(req, resp);
        
        System.out.println("HelloServlet.service");
    }
}

 

- 애플리케이션을 실행시켜, 결과 확인한다.

 

@WebServlet 서블릿 애노테이션

name: 서블릿 이름

urlPatterns: URL 매핑 HTTP 요청을 통해 매핑된 URL이 호출되면 서블릿 컨테이너는 다음 메서드를 실행한다.

protected void service(HttpServletRequest request, HttpServletResponse response)

 

 

1. 쿼리 파라미터 추가해보기

 

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

 

http://localhost:8080/hello?username=choi 

 

- 결과 확인

 

 

2. 응답 내용 추가해보기

response http 응답 메시지에 데이터가 담겨서 나가게 됨

	response.setContentType("text/plain");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write("hello "+username);

 

- 결과 확인

 

 

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

 

application.properties 에 아래 코드를 추가한다.

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

 

 

- 결과확인 : 헤더정보 확인 가능

 

⭐운영 서버에 이렇게 모든 요청 정보를 다 남기면 성능저하가 발생할 수 있다. 개발 단계에서만 적용하자 !

 

 

 

 

 

'Web Development > 스프링 MVC 1편' 카테고리의 다른 글

서블릿, JSP, MVC 패턴(2)  (1) 2024.10.20
서블릿, JSP, MVC 패턴(1)  (0) 2024.10.14
서블릿(3)  (1) 2024.10.13
서블릿(2)  (2) 2024.10.11
웹 애플리케이션 이해  (0) 2024.07.06