Back-End/JSP

1. JSP 기초 지식 - 01. 웹과 JSP 프로그래밍의 이해

parkes811 2024. 4. 9. 01:44
  • 인터넷과 웹

- InternetWeb은 대개 동의어로 쓰이지만 서로 다른 개념입니다.

  1. 인터넷 컴퓨터가 서로 연결되어 TCP/IP라는 통신 프로토콜을 이용하여 정보를 주고 받는 전 세계의 컴퓨터 네트워크입니다.
  2. 은 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수있는 정보 공간으로, World Wide Web의 줄임말입니다.

  • 웹의 동작 원리

- 웹은 기본적으로 클라이언트/서버 방식으로 동작합니다.

클라이언트(웹 브라우저)가 특정 페이지를 웹 서버에 요청(request)하면 이를 처리한 후 결과를 클라이언트에게 보내어 응답(response)하는 것 입니다.

 

- 가장 널리 쓰이는 웹 서버는 Apache, Tomcat, IIS(Internet Information Server) 등이 있습니다.

 


  • 정적 웹 페이지와 동적 웹 페이지
  1. 정적 웹 페이지 : Static Page는 컴퓨터에 저장된 텍스트 파일을 그대로 보는 페이지를 의미합니다. 주로 HTML과 같은 웹 언어로 작성합니다.
  2. 동적 웹 페이지 : Dynamic Page는 저장된 내용을 다른 변수로 가공 처리하여 보는 페이지를 의미합니다. PHP, ASP, JSP와 같은 웹 언어로 작성합니다.

  • 정적 웹 페이지 동작 순서
  1. 사용자가 웹 브라우저에 URL을 입력하여 요청
  2. 해당 URL의 웹 서버에서 수신된 파일 검색
  3. 이미 준비된 HTML 문서를 클라이언트에게 보냄
  4. 웹 브라우저가 HTML 문서를 표현

 

  •  동적 웹 페이지 동작 순서

 

  1. 사용자가 웹 브라우저에 URL을 입력하여 요청
  2. 해당 URL의 웹 서버에서 요청을 분석
  3. 데이터베이스에 연동이 있다면 이를 처리
  4. 웹 서버는 결과를 전송받아 HTML 문서로 생성
  5. 요청에 맞게 정제된 HTML 문서를 클라이언트에게 전송
  6. 웹 브라우저가 HTML 문서를 표현

  • 서블릿과 JSP

- JSP, Java Server Page : 동적 웹 페이지 생성, 데이터베이스와의 상호작용, 폼 데이터 처리, 세션 관리 등을 관리하는 웹 개발의 한 영역입니다. JSP는 HTML 내에 자바 코드를 삽입할 수 있어, 프론트엔드 기술과 결합하여 사용자에게 동적인 웹 콘텐츠를 제공하는 백엔드 솔루션을 구현하는데 사용됩니다.

 

- Servlet : 웹 서버나 애플리케이션 서버에서 실행되는 자바 프로그램으로 클라이언트의 요청에 대해 동적으로 응답을 생성하고, 서버 사이드에서 로직을 처리하는 데 사용되는 Java 파일입니다.

 

  • 서블릿의 개념과 특징
  1. 이식 가능 : 서블릿은 자바를 사용하기 때문에 플랫폼에 독립적입니다.
  2. 확장성 : 서블릿이 웹 서버에 배포되고 로드되면 클라이언트의 요청을 즉시 이행하기 시작할 수 있습니다. 웹 서버는 경량 스레드를 사용하여 서블릿을 호출하므로 자바의 멀티스레딩기능을 사용하여 여러 클라이언트 요청을 동시에 서블릿에서 채울 수 있습니다.
  3. 견고함 : 자바의 주요기능을 상속함으로써 서블릿은 메모리 관리 문제 및 메모리 낭비를 줄일 수 있습니다.
  • JSP(Java/ Jakarta Server Page)의 개념과 특징

* Jakarta Server Page는 Java Server Page의 새로운 이름입니다.

  1. JSP는 서블릿 기술의 확장 : 서블릿과 마찬가지로 JDBC, JNDI, EJB 등 자바 API를 사용할 수 있습니다.
  2. 용이한 유지관리 : 프레젠테이션 로직과 비즈니스 로직을 분리할 수 있기 때문에 관리하기가 쉽습니다.
  3. 빠른 개발 : 코드 수정 시 서블릿은 업데이트 후 재 컴파일이 필요하나, JSP의 경우 다시 컴파일하고 프로젝트를 배포할 필요가 없습니다.
  4. 코드 길이 개선 : JSP에서는 액션태그, JSTL(JavaServer Pages Standard Tag Library, 사용자 정의 태그 등 다양한 태그와 표현 언어, 내장 객체 등을 사용해 코드를 줄일 수 있습니다.

 

  • 서블릿과 JSP의 차이
서블릿 JSP
자바 코드 안에 HTML 태그를 삽입 HTML 코드 안에 자바 코드 삽입
HTML 태그를 문자열(" ")로 처리 자바 코드를 <% %> 태그 안에 처리
자바 코드 수정 시 다시 컴파일하고 배포 키워드가 태그화 되어 서블릿에 비해 배우기 쉬움