Back-End 5

MVC란?

MVC는 모델(Model), 뷰(Viw), 컨트롤러(Controller)를 이용해서 프로그래밍하는 소프트웨어 설계 방법을 뜻함. 이를 MVC 디자인 패턴이라고 함.  *소프트웨어 설계적인 측면에서 디자인 패턴(Design Pattern)이란 다른 프로그램이라도 전체적인 설계는 어떤 특정한 패턴을 갖는다는 의미이다. 그리고 이러한 패턴을 정리해서 문서화한 것을 디자인 패턴이라고 한다.  모델(Model)은 데이터베이스와 밀접한 관계를 갖고 비즈니스 로직을 담당한다. 뷰(View)는 클라이언트와 밀접한 관계를 갖고 비즈니스 로직의 결과를 출력하기 위한 화면 구성을 담당한다. 컨트롤러(Controller)는 클라이언트의 요청에 대해 모델과 뷰를 컨트롤하는 업무를 담당한다.  Model은 데이터와 관련된 부분V..

Back-End 2024.08.18

템플릿 엔진이란?

서식과 데이터를 결합한 결과물을 만들어 주는 도구. 자바 웹 개발 시에는 JSP로 페이지를 만드는데, 서버 쪽 내용을 표현하기 위해 스크립트릿() 태그 안에 로직을 작성한다. 그런데 이렇게 하면 스크립트릿(Scriptlet)과 html 태그가 혼재된 상태가 되고, 조건문이나 반복문이 들어가면 html 태그들을 반복해서 붙여 넣기 해야 해서 추후에 수정이 어렵다. 이런 문제들을 해결할 수 있는 게 템플릿 엔진(Template Engine)이다. 스크립트릿 태그는 JSP 페이지 내에서 자바 코드를 직접 작성할 수 있게 해주는 태그. 이 태그 안에 자바 코드를 넣으면, 서버에서 이 코드를 실행하고 그 결과를 HTML에 포함시켜서 사용자에게 전송함.간단히 말해서 템플릿 엔진이란, 서식(템플릿)과 데이터를 결합한..

Back-End 2024.08.18

[Spring Boot] 컨트롤러(Controller)란? +템플릿

사용자의 요청을 받아서 처리하고, 그 결과를 응답으로 돌려주는 역할을 하는 구성 요소. 사용자가 웹 브라우저나 앱을 통해 보낸 요청을 받아서 처리하고, 그 결과를 사용자에게 돌려주는 역할을 하는 중요한 구성 요소.웹 애플리케이션의 '길 안내자' 같은 역할.사용자가 특정 주소(예: '/home', /'login)'로 요청을 보내면, 컨트롤러는 그 요청을 받아서 '이 요청을 어떻게 처리할까?'를 결정하고, 적절한 작업을 수행한 다음, 결과를 사용자에게 응답으로 보냄. ex)@RestControllerpublic class MyController { @GetMapping("/hello") public String sayHello() { return "Hello, World!"; }..

Back-End 2024.08.12

Maven, pom.xml의 개념

Maven은 Java 프로젝트를 위한 빌드 자동화 도구이다.  프로젝트에 필요한 의존 라이브러리들을 자동으로 내려받아서 설치해준다. 자바 프로젝트를 손쉽게 관리하고 빌드하는 도구.자바로 소프트웨어를 개발할 때, 여러 파일이나 라이브러리를 다루게 되는데, Maven은 이런 복잡한 작업들을 자동으로 처리해줌.Maven은 프로젝트에 필요한 라이브러리들을 관리해주고, 프로그램을 만들 때 필요한 여러 설정들을 쉽게 다룰 수 있게 도와주며, 또한 프로젝트를 빌드하고 실행하는 작업도 간편하게 수행할 수 있도록 도와줌. Maven을 사용하면 프로젝트의 구조가 일관되고, 필요한 라이브러리들도 자동으로 다운로드 받아짐.이렇게 함으로써 우리는 프로젝트에 집중하고, Maven이 빌드나 관리와 같은 귀찮은 작업을 대신 처리하게..

Back-End 2024.01.19

Web Server와 WAS의 개념 및 차이

- Web Server: 정적인 콘텐츠(이미지, HTML 등)를 처리하고 클라이언트 요청에 직접 응답하는 서버.- WAS(Web Application Server): 동적 콘텐츠(애플리케이션 로직 처리)를 수행하여 비즈니스 로직을 실행하고 결과를 Web Server에 전달하는 서버.  웹 서버 (Web Server):클라이언트의 요청을 가장 먼저 받는 서버로, 클라이언트와 직접 통신함.주요 역할은 클라이언트의 요청에 따른 정적 페이지 응답.클라이언트로부터 HTTP 요청을 받아 정적인 웹 페이지를 제공하는 역할.클라이언트가 웹 페이지를 요청하면 웹 서버는 해당 요청을 받아들이고, 요청에 따라 정적인 HTML, CSS, JavaScript 파일 등을 클라이언트에게 전송함.만약 클라이언트가 회사 소개 페이지,..

Back-End 2024.01.18