본문 바로가기
카테고리 없음

[java] 웹 프로그래밍

by 멘멘 2024. 4. 7.

웹 프로젝트 기본구조

브라우저/클라이언트 프로그램  <-> 웹서버/WAS  <-> 데이터베이스
HTML/CSS/JS 프레임워크 등 SQL 등

 

Request / Response

요청

GET 방식 : 직접 데이터 작성 / 링크를 클릭하여 호출

POST 방식 : 버튼 등을 통하여 호출 

 

응답

static 데이터 : 항상 동일한 데이터 전송. 파일로 고정된 html,css,이미지 등의 데이터. -웹서버

dynamic 데이터 : 매번 다른 데이터를 동적으로 구성해서 전송. (서버 사이트 프로그래밍) -WAS

 

HTTP

프로토콜(protocol)

 : 브라우저의 요청과 서버의 응답 사이 처리를 위 데이터 교환 약속. http는 웹의 프로토콜.

 

http 메시지 : 브라우저에서 전송 / 서버에서 전송할 때 사용 (구성은 조금 다름)

비연결성 : 하나의 요청과 응답 처리 후 연결 종료 -> 적은 리소스로 많은 수의 요청을 처리할 수 있음

 

자바 서버 사이드 프로그래밍

서블릿 - 서버에서 동적으로 요청,응답을 처리할 수 있는 api들을 정의한 것(코드 처리)

JSP(java server page) - 서블릿과 같은 원리지만 html을 쉽게 이용하는 방식(화면 개발)

요청 -> 톰캣 srever / jsp api servlet 클래스
<- 응답 jsp 파일

 

jsp는 html 코드를 그대로 사용 후 자바코드를 삽입 / 서블릿은 자바코드를 이용해 html 문자열을 만듦

서블릿과 동일하게 처리되는 이유는 jsp도 서블릿 코드로 변환되어 컴파일 되기 때문

 

GET / POST 처리

  GET POST
주용도 조회 등록/수정/삭제
조회 URL 뒤 '?'와 쿼리스트링 URL 전달후 http body로 쿼리스트링
효과 사용 쉬운 링크 제공 원하는 작업처리
한계 길이 제한, 모든 정보가 전달 많은 양의 데이터 전송, 테스트 어려움

 

 

Web MVC

웹 MVC 구조는 Model - View - Controller의 역할을 분리해서 처리하는 구조.

데이터는 컨트롤러에서, 결과는 뷰에서 처리하며 서블릿이 컨트롤러, jsp가 뷰 역할을 함

컨트롤러 역할의 서블릿은 jsp에 필요한 데이터를 가공하는 과정에서 모델에서 제공되는 데이터 이용

 

PRG 패턴 (Post - Redirect - GET)

웹 MVC 구조에서 가장 흔하게 사용되는 패턴. (ex. 게시판)

 

1) post 방식으로 데이터 처리 요청

2) 데이터 처리 후 브라우저에게 다른 주소로 redirect하도록 응답

3) 브라우저, 이동해야하는 주소 받음

4) 브라우저, Get 방식으로 서버 호출

5) get 방식의 데이터 처리 후 응답 메시지 전송

6) 브라우저로 응답

 

HttpServlet

실습 생략

 

Model

모델은 컨트롤러, 뷰를 제외한 남은 부분이며,

서비스(로직처리계층) 과 영속(데이터 처리)계층으로 나뉘기도 함.

 

DTO(Data Transfer Object)

계층을 분리하는 경우 반드시 데이터 교환이 이루어짐.

이때 여러개의 데이터를 묶어 하나의 객체로 전달하는 것을 DTO라고 함.

특별한 규격은 없지만 대부분 java beans 형태로 구성.

 

서비스 객체

DTO는 단순 하나의 객체를 구성하는 용도로 사용하고 서비스 객체 메소드들의 파라미터/리턴 값으로 사용됨

서비스 객체는 기능(로직)들의 묶음으로, 구현 기능의 실제 처리를 담당.

 

JSTL(JavaServer Pages Standard Tag Library)

jsp에서 동작하는 새 태그들의 묶음.

 

댓글