티스토리 뷰

코딩/JAVA

JAVA 정리 3

ehzim 2024. 5. 2. 23:33

MVC 구조 와 동작 순서

MVC는 디자인패턴 중 하나로 소프트웨어를 세가지로 분리해 각 각 독립적으로 작동하는 패턴이다. Model, View, Controller로 구분한다.

 

Model

데이터와 데이터를 처리하는 부분을 담당한다.

보통 DB와의 상호작용, 데이터 유효성 검사, 비즈니스 로직을 처리한다.

 

View

사용자의 인터페이스를 담당한다.

사용자에게 정보를 보여주는 역할을 한다.

모델로부터 데이터를 받아와 사용자에게 적절하게 표시한다.

 

Controller

사용자의 입력을 받아 처리한다.

사용자의 요청을 받아 해당 요청에 대한 적절한 모델을 호출하고 그 결과를 받아 뷰를 업데이트 한다.

각 역할에 따라 분리하므로써 유지보수성을 향상시키고 코드의 재사용성을 높이는데 도움이된다.

 

 

동작 순서

1. 사용자는 브라우저 또는 애플리케이션을 통해 특정 요청을 합니다.

2. 요청은 컨트롤러로 전달됩니다. 컨트롤러는 요청을 해석하고, 해당하는 모델을 호출하여 처리를 요청합니다.

3. 모델은 요청에 따라 데이터를 가져오고, 비즈니스 로직을 수행하여 결과를 반환합니다.

4. 컨트롤러는 모델로부터 받은 결과를 기반으로 적절한 뷰를 선택합니다.

5. 선택된 뷰는 모델로부터 받은 데이터를 사용하여 사용자에게 보여줍니다.

6. 사용자는 결과를 확인하고 상호작용하며, 필요에 따라 다시 요청을 보낼 수 있습니다.

 

 

GetPost

GET

정보를 서버로 보내기 위해 사용된다.

URL을 통해 데이터를 전송하는데 데이터는 주소 표시줄에 노출되므로 보안에 약하다.

또한 URL 길이에 제한이 있으며 데이터를 검색하는데 주로 사용된다.

데이터를 요청하는데 사용하지만 서버의 상태를 변경하지 않는다.

 

POST

서버로 데이터를 보내기 위해 사용된다.

HTTP 요청 본문에 데이터를 담아 전송하여 데이터가 URL에 노출되지 않는다. (보안성 좋음)

크기에 제한이 없어 많은 양의 데이터를 전송할 수 있으며 주로 데이터를 생성하거나 수정하는데 사용된다. get과 다르게 서버의 상태를 변경할 수 있다.

 

get은 메서드 정보 요청, post는 메서드 정보 전달.

 

 

 

Spring이란?

엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크

 

프레임워크?

어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 구조이자 약속이며, 소프트웨어 개발에 있어서 하나의 뼈대 역할을 한다.

, 프레임 워크는 자주 쓰일 만한 기능들을 한데 모아 놓은 유틸(클래스)들의 모음(집합)이다.

 

Spring Boot

스프링 프레임워크를 더 쉽게 사용할 수 있도록 만든 프레임워크이다.

개발자가 설정 파일(pom.xml)을 작성할 필요 없이 프로젝트의 설정과 라이브러리 의존성을 자동으로 처리해주는 기능을 제공한다.

 

 

 

* 스프링(Spring)은 프레임워크이며, 스프링 부트(Spring Boot)는 스프링 프레임워크를 기반으로 한 도구입니다. 스프링은 설정 파일을 작성해야 하지만, 스프링 부트는 자동 설정을 제공하여 간편하게 개발할 수 있습니다. 또한, 스프링 부트는 내장 서버를 제공하여 쉽게 웹 애플리케이션을 실행할 수 있습니다. Spring은 스프링 프레임워크를 보다 세밀하게 제어하고자 하는 경우에, Spring Boot는 빠르고 간단하게 스프링 애플리케이션을 개발하고자 하는 경우에 사용됩니다.

 

 

 

 

JSP?

서버 측 웹 기술 중 하나로 HTML 내에 java 코드를 포함해 동적인 웹 페이지를 생성하는 기술이다. jspjava를 기반으로 하기 때문에 java의 모든 기능과 라이브러리를 사용할 수 있고 이것을 통해 웹 애플리케이션을 개발할 때 동적인 콘텐츠를 생성하고 제공한다.

특징으로는 HTML과 유사한 문법을 사용해 쉽게 사용할 수 있고 동적인 콘텐츠를 생성한다.

또한 재사용성이 뛰어나며 jsp는 서버 측에서 실행되기 때문에 클라이언트에게는 java 코드가 보이지 않아 보안성이 좋다.

 

JSP는 주로 웹 애플리케이션의 사용자 인터페이스를 구현하고 동적인 콘텐츠를 생성하는 데 사용된다. 예를 들어 사용자가 입력한 데이터를 받아 처리하거나 데이터베이스에서 정보를 검색하여 화면에 표시하는 등의 작업에 활용된다.

 

 

 

Servlet이란?
자바 웹 애플리케이션 개발에 사용되는 자바 클래스이다.

서블릿은 클라이언트의 요청을 처리하고 그에 따른 응답을 생성하는데 사용된다.

보통 웹 서버에서 실행되며 HTTP 요청을 처리하고 동적인 콘텐츠를 생성하는데 사용된다.

 

 

 

session cookie?

Session

세션은 서버 측에서 사용자의 상태를 유지하는데 사용한다.

세션은 클라이언트에 저장되지 않으므로 쿠키보다 보안적으로 뛰어나다 하지만 서버 메모리를 사용해 서버 부하에 영향을 줄 수 있다.

 

Cookie

클라이언트에 저장되는 데이터 조각이다.

클라이언트의 브라우저에 특정 기간 동안 유지되는 정보를 저장하고 전송한다.

클라이언트의 요청에 의해 서버에서 생성되어 브라우저에 저장되며 이후 요청에서는 브라우저가 해당 쿠키를 자동으로 서버에 전송한다.

쿠키는 사용자를 식별하고 사용자의 신호 설정을 저장하는데 사용될수 있다.

클라이언트에 저장되므로 보안에 취약하다.

 

쿠키는 클라이언트 측에서 데이터를 저장하고 전송한다. 하지만 세션은 서버 측에서 상태를 유지하고 클라이언트를 식별하는데 사용된다.

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday