땅지원
땅지원's Personal blog
땅지원
전체 방문자
오늘
어제
  • 전체 (353)
    • Frontend (2)
      • React (2)
    • Backend (90)
      • Java (16)
      • Python (19)
      • Spring (23)
      • Database (21)
      • Troubleshooting (8)
    • DevOps (27)
      • ELK (13)
    • CS (40)
    • OS (2)
      • Linux (2)
    • Algorithm (95)
      • concept (18)
      • Algorithm Problem (77)
    • 인공지능 (25)
      • 인공지능 (12)
      • 연구노트 (13)
    • 수업정리 (35)
      • 임베디드 시스템 (10)
      • 데이터통신 (17)
      • Linux (8)
    • 한국정보통신학회 (5)
      • 학술대회 (4)
      • 논문지 (1)
    • 수상기록 (8)
      • 수상기록 (6)
      • 특허 (2)
    • 삼성 청년 SW 아카데미 (6)
    • 42seoul (12)
    • Toy project (3)
    • 땅's 낙서장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 20.11.6 BB21플러스 온라인 학술대회
  • 20.10.30 한국정보통신학회 온라인 학술대회

인기 글

태그

  • E
  • I
  • D
  • 이것이 리눅스다 with Rocky Linux9
  • ㅗ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
땅지원

땅지원's Personal blog

JSP와 Servlet에 대해
CS

JSP와 Servlet에 대해

2022. 9. 6. 20:39

JSP(Java Server Pages)

HTML 코드에 JAVA 코드를 넣어  Dynamic Web Page를 생성하는 웹 애플리케이션 프로그래밍 기술

예를들어 네이버의 html코드를 보면 몇천줄이 넘는데 servlet으로 그걸 생성한다고 치면 out.println()해서 몇천줄을 다 적는 그런짓은 너무 비효율적이기 때문에 나온 방법

서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다

JSP 가 실행되면 자바 JSP 코드를 보면 서블릿에서 편리한 데이터 처리, DB 통신, 비즈니스 호출 부분이 불편하지만, HTML 코드 안에 Java 코드를 껴넣는 것이므로 View 역할을 맡기 적합합니다.

Servlet

서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술

웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 요청과 응답에는 규칙이 존재

이러한 요청과 응답을 일일이 처리하려면 굉장히 힘들기에 나온 기술이 바로 Servlet

JAVA코드 안에 HTML 코드 

서블릿은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술

서블릿 코드를 보면 HTML 코드를 넣는다는 부분만 불편하지, 데이터를 읽고 가져와서 DB와 통신하고 비즈니스 로직을 호출하는 부분은 편리하다. 그래서 서블릿은 Controller 역할을 맡기 적합

JSP와 Servlet은 완전 다른 개념이 아니며, Servlet을 사용해 웹을 만들 경우 화면 인터페이스 구현이 워낙 까다로운 단점을 보완하기 위해 만든 스크립트 언어가 JSP

 

즉, 각자의 특화된 분야가 있으므로 둘을 합치고 각자의 업무를 분담하면 훨씬 효율적인 프로그램이 됨

==> MVC 패턴 적용 가능

 

** MVC(Model, View, Controller) 패턴

MVC 패턴은 하나의 서블릿이나 JSP로 처리하던 것을 컨트롤러와 뷰, 모델 영역으로 역할을 나눈 것

 

컨트롤러는 HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행합니다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담습니다.

 

모델은 뷰에 출력할 데이터를 담아둡니다.

 

뷰는 모델에 담겨있는 데이터를 사용해서 화면에 그리는 일을 하는데, HTML을 생성하는 부분을 생각하시면 되겠습니다.

'CS' 카테고리의 다른 글

Web Architecture에 대해  (0) 2022.09.15
[JavaScript] AJAX에 대해  (0) 2022.09.06
HTTP(HyperText Transfer Protocol)  (0) 2022.09.06
JavaScript 기본 지식  (0) 2022.09.02
CSS 기본 지식  (0) 2022.07.05
    'CS' 카테고리의 다른 글
    • Web Architecture에 대해
    • [JavaScript] AJAX에 대해
    • HTTP(HyperText Transfer Protocol)
    • JavaScript 기본 지식
    땅지원
    땅지원
    신입 개발자의 우당탕탕 기술 블로그

    티스토리툴바