Spring/SpringMVC

서블릿 - 프로젝트 생성

느리지만 꾸준하게 2022. 4. 21. 17:28

서블릿 컨테이너

 

 

  • 스프링MVC-웹애플리케이션이해
  • 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 함
  • 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기 관리
  • 서블릿 객체는 싱글톤으로 관리
  • 고객의 요청이 올 때 마다 계속 객체를 생성하는 것은 비효율
  • 최초 로딩 시점에 서블릿 객체를 미리 만들어두고 재활용
  • 모든 고객 요청은 동일한 서블릿 객체 인스턴스에 접근

 

  • 공유 변수 사용 주의
  • 서블릿으로 변환 되어서 사용
  • JSP도 서블릿으로 변환 되어서 사용
  • 동시 요청을 위한 멀티 쓰레드 처리 지원

 

 

서블릿은 스프링이 필요없다.

하지만 여기서는 스프링 부트를 이용해서 프로젝트를 생성해보자.(스프링 부트는 톰캣 서버(WAS 서버)를 내장하고 있어서 편리하게 이용을 할 수 있다.)

 

 

start.spring.io에서 프로젝트 생성

Jar를 사용하면 스프링 내장톰캣 즉, 스프링 부트가 빌드된 서버를 바로 쓰는데

War는 보통 톰캣 서버를 별도로 설치하고 War를 빌드해서 넣을 때 쓴다. 또는 War 안에 톰캣을 내장시키는 거도 된다.

 

 

프로젝트를 생성하고 build.gradle에서 war로 되어있는지 확인해주자.

plugins {
   id 'org.springframework.boot' version '2.6.6'
   id 'io.spring.dependency-management' version '1.0.11.RELEASE'
   id 'java'
   id 'war'
}

 

ServletApplicationd을 돌려주자. 그리고 http://localhost:8080/로 들어가서 

package hello.setvlet;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SetvletApplication {

   public static void main(String[] args) {
      SpringApplication.run(SetvletApplication.class, args);
   }

}

 

아래 에러를 확인해준다.

 

 

2022-04-21 17:21:30.218  INFO 27764 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''

 

lombok도 설치해주고 preference 에서 annotation 검색 후에  enable annotation processing을 체크하고 apply 해준다.

 

 

 

 

 

 

 

 

 

 

 

<출처 김영한: 스프링 MVC 1편 - 벡앤드 웹 개발 핵심 기술>

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard

 

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -

www.inflearn.com

 

'Spring > SpringMVC' 카테고리의 다른 글

HTTP 요청 데이터 - 개요  (0) 2022.04.21
HttpServletRequest - 기본 사용법  (0) 2022.04.21
HttpServletRequest - 개요  (0) 2022.04.21
Hello 서블릿  (0) 2022.04.21
자바 백엔드 웹 기술 역사  (0) 2022.04.21