반응형
- JSP (JavaServer Pages):
- JSP는 웹 애플리케이션을 만들 때 사용되는 서버 측 웹 기술 중 하나
- HTML 내에 Java 코드를 포함할 수 있는 특별한 형식의 문서로, 동적 웹 페이지를 생성하는 데 사용
- JavaScript:
- JavaScript는 클라이언트 측 웹 개발 언어로, 웹 페이지 내에서 동적인 기능을 구현하는 데 사용
- 주로 브라우저에서 실행되며 사용자 인터페이스 상호 작용을 처리하거나 서버와 통신 가능
- Java:
- Java는 다목적 프로그래밍 언어로, 웹 애플리케이션의 서버 측 로직을 개발하는 데 사용
- Java 언어로 작성된 서버 애플리케이션은 다양한 웹 서버 환경에서 실행 가능
- jQuery:
- jQuery는 JavaScript 라이브러리로, JavaScript 코드를 더 쉽게 작성하고 브라우저 간 호환성을 제공
- 주로 DOM 조작 및 이벤트 처리를 간편하게 수행하는 데 사용
- 웹 서버 (Web Server):
- 웹 서버는 클라이언트로부터 HTTP 요청을 받아 정적 웹 페이지나 동적 콘텐츠를 제공하는 소프트웨어
- 예시로 Apache HTTP Server나 Nginx가 있음
- Spring MVC:
- Spring MVC는 스프링 프레임워크의 일부로, 웹 애플리케이션을 개발하기 위한 모델-뷰-컨트롤러(MVC) 아키텍처를 제공하 프레임워크
- MVC 아키텍처는 애플리케이션을 모델(데이터 및 비즈니스 로직), 뷰(사용자 인터페이스) 및 컨트롤러(요청 처리)로 분리하여 유지 보수성과 확장성 향상
- Spring MVC는 웹 요청을 처리하고 응답을 생성하기 위해 Java 클래스 및 어노테이션을 사용합니다. 이러한 클래스와 어노테이션을 통해 URL 라우팅, 폼 처리, 세션 관리 및 모델 데이터와 뷰 템플릿의 통합 등을 수행
- WAS (Web Application Server):
- WAS는 웹 애플리케이션을 실행하는 데 필요한 서버 소프트웨어 환경을 제공하는 소프트웨어
- Java Servlet과 JSP를 실행하고, 데이터베이스와 상호 작용하며, 비즈니스 로직 처리
- WAS는 클라이언트 요청을 받아들이고, 필요한 서버 자원(자바 서블릿, JSP 등)을 실행하여 동적 콘텐츠를 생성
- WAS는 클라이언트와 데이터베이스 간의 통신, 세션 관리, 보안, 트랜잭션 처리 등의 중요한 웹 애플리케이션 서비스 제공
- 예를 들어, Apache Tomcat, WildFly, IBM WebSphere, 또는 Red Hat JBoss와 같은 WAS는 Java 웹 애플리케이션을 실행하는 데 사용
- Spring MVC와 WAS의 관계:
- Spring MVC는 WAS 위에서 실행됩니다. 즉, Spring MVC 애플리케이션은 웹 서버를 통해 들어오는 HTTP 요청을 WAS가 처리하고, 이를 Spring MVC 컨트롤러로 라우팅하여 비즈니스 로직을 수행하고 뷰 렌더링
- Spring MVC는 서버 측 로직을 처리하는 데 사용되며, WAS는 이를 지원하고 실행하는 환경 제공
- WAS는 Spring MVC 애플리케이션이 필요로 하는 서버 리소스(예: 데이터베이스 연결, 스레딩, 세션 관리)를 관리하고, Spring MVC는 요청 처리 및 응답 생성 담당
- 이러한 협력을 통해 Spring MVC와 WAS는 안정적이고 확장 가능한 웹 애플리케이션을 개발하고 실행하는 데 도움 줌
- Spring MVC는 웹 애플리케이션의 비즈니스 로직 및 요청 처리를 위한 프레임워크
- WAS는 Spirng MVC를 실행하는 환경을 제공
- Servlet:
- Servlet은 Java 웹 애플리케이션의 서버 측 컴포넌트 중 하나로, 클라이언트 요청을 처리하고 응답을 생성하는 Java 클래스
- HTTP 프로토콜을 기반으로 동작하며, 웹 애플리케이션의 컨트롤러 역할을 수행
- Bean:
- Bean은 Java에서 재사용 가능한 소프트웨어 구성 요소를 나타남
- 주로 데이터 객체로 사용되며, JavaBeans 규칙에 따라 프로퍼티와 메서드를 가짐
클라이언트와 서버 간의 동작 순서
- 클라이언트 측 동작:
- 클라이언트(웹 브라우저)에서 사용자가 웹 페이지를 요청
- HTML, CSS, JavaScript 등의 정적 파일은 웹 서버에서 직접 제공
- 동적 콘텐츠가 필요한 경우, 클라이언트는 웹 서버에 HTTP 요청
- 웹 서버 측 동작:
- 웹 서버는 정적 컨텐츠(HTML, CSS, 이미지 등)을 요청에 따라 제공
- 동적 콘텐츠가 필요한 경우, 웹 서버는 해당 요청을 WAS로 전달
- WAS 측 동작:
- WAS는 클라이언트 요청을 처리하기 위해 Java Servlet을 활용
- Servlet은 요청을 분석하고, 필요한 Java 클래스(Bean 등)를 활용하여 데이터 처리나 비즈니스 로직을 수행
- 데이터베이스와의 상호 작용이 필요한 경우, WAS는 데이터베이스 서버와 통신하여 데이터를 검색 또는 업데이트
- Java와 Bean:
- Java 코드와 Bean은 비즈니스 로직을 구현하고 데이터 처리 담당
- Java 코드는 필요한 기능을 수행하고 데이터를 처리한 후, 결과를 클라이언트에 반환
- 클라이언트에 응답:
- WAS는 클라이언트에게 HTML과 같은 동적으로 생성된 페이지 또는 JSON 데이터와 같은 응답을 생성
- 이 응답은 웹 서버를 통해 클라이언트에게 전달되고, 브라우저에서 해석되어 화면에 표시
클라이언트는 웹 브라우저를 통해 웹 페이지를 요청하고, 서버는 동적 콘텐츠를 생성하고 제공하는 데에 Java와 다양한 웹 기술을 사용
반응형
'ing' 카테고리의 다른 글
웹 개발 용어정리 (0) | 2024.02.20 |
---|---|
Section 1-2 웹 개발 기초(2) (0) | 2022.10.21 |
Section 1-2 웹 개발 기초(1) (0) | 2022.10.21 |
Section 1 -1 메타인지 & 페어프로그래밍 (0) | 2022.10.20 |