Java에서의 웹 개발

welshimeat·2020년 12월 20일
0

Java App Server

웹 서버의 근본적인 역할은 HTTP 요청에 대한 알맞은 응답을 해당 client에게 보내는 것이다. 최근의 웹은 단순히 HTML을 응답하기 보다는 DB 접근과 같은 복잡한 기능이 요구된다. Java App Server는 다양한 기능을 각각의 요청에 대해 servlet을 통해 처리한다.

  • servlet은 클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 역할을 한다.
  • Java App Server의 특징
    • servlet과의 통신 지원
    • servlet 생명 주기 관리
    • 멀티 쓰레드 지원
    • Pluggable Architecture
    • 보안 기능

Java Servlet


servlet은 application과 Java App Server간의 interface라고 볼 수 있다. servlet을 통해 해당 application에 필요한 특정 기능을 수행한다. web.xml을 통해 어떤 servlet이 있으며 어떤 URL을 맵핑하는지 저장한다. servlet은 Java Reflection API를 통해 생성되며 init(), service(), destroy()가 호출될 수 있다.

  • init() : servlet이 생성될 때 호출되는 메소드. 생성될 때 한번만 호출된다.
  • service() : servlet이 요청될 때 호출되는 메소드. 요청될 때마다 호출된다.
  • destroy() : servlet이 소멸될 때 호출되는 메소드. 소멸될 때 한번만 호출된다.

JAR VS WAR

JAR : Java ARchieve의 약자로 class 파일을 포함한 package들의 폴더로 이루어진 압축된 파일이다.

WAR : Web application ARchieve의 약자로 JAR과 거의 비슷하지만 특정 web application의 구성 파일을 포함하고 있다. WAR을 배치하면 app server는 web.xml을 찾고 그것을 사용한다.


Spring

Spring은 자바 플랫폼을 위한 오픈소스이며 제 3의 구성을 쉽게 연결시켜준다. application framework로 다음의 특성을 가진다.

  • Inversion Of Control(IOC) : 언제 application의 코드를 실행할지를 결정하는 것이 아닌 언제 나의 코드를 application에서 실행할지 결정한다.
  • dependency injection : component들 간의 의존성이 존재한다면 자동으로 연결시켜 준다.

Spring Boot

  • Spring은 많은 설정을 해둬야한다. 하지마 Spring Boot는 미리 정의된 설정을 통해 실행만 해도 되는 구성을 만들어준다.
  • https://start.spring.io/ 를 통해 project를 생성 가능하다.

관심 있을 만한 포스트

0개의 댓글