반응형

2024/05 31

[Springboot] thymeleaf 조건문 if

Thymeleaf에서 th:if는 조건부로 HTML 요소를 렌더링 하는 데 사용되는 속성입니다. 이 속성을 사용하면 특정 조건이 충족될 때만 HTML 요소를 표시하거나 숨길 수 있습니다.th:if는 일반적으로 Thymeleaf 템플릿 엔진과 함께 사용되며, 다음과 같은 방식으로 사용됩니다: 여기서 ${condition}은 평가될 조건을 나타내며, 조건이 true일 때 내부의 HTML 요소가 렌더링 됩니다.다음은 th:if를 사용한 간단한 예제입니다: Welcome Admin! Welcome User! 이 예제에서는 user.isAdmin이라는 조건에 따라 관리자 여부를 확인하고, 해당하는 메시지를 출력합니다.또 다른 예제로는 리스트의 요소를 순회하..

[Springboot] Session이란?

세션(Session)이란?세션은 클라이언트와 서버 간의 지속적인 상태를 유지하기 위한 방법입니다. 웹 애플리케이션에서는 HTTP 프로토콜이 기본적으로 무상태(stateless) 프로토콜이기 때문에, 클라이언트가 요청할 때마다 새로운 요청으로 간주됩니다. 이러한 특성 때문에 사용자 인증 정보, 쇼핑 카트 내용 등과 같은 상태 정보를 유지하기 위해 세션을 사용합니다. 세션의 동작 원리세션 생성: 클라이언트가 서버에 처음 요청을 보내면 서버는 새로운 세션을 생성합니다. 이때 서버는 고유한 세션 ID를 발급합니다.세션 ID 전달: 서버는 생성된 세션 ID를 클라이언트에게 쿠키를 통해 전달합니다. 클라이언트는 이 세션 ID를 로컬에 저장합니다.세션 유지: 클라이언트는 이후의 모든 요청에 세션 ID를 함께 전송하여..

[Springboot] Scope란?

잡담미니 프로젝트 겸 게시판을 만들다가 게시글 작성할 때 로그인한 사람만 권한을 주고 싶어서 방법을 찾다가 Session에 대해 검색하게 되었습니다. 로그인 정보를 session에 담아놓고 필요할 때마다 어느 페이지에서든 꺼낼 수도 있다는 것을 알게 되었는데요, 혹은 session을 사용함으로써 해당 페이지에 대한 권한을 인증받는 용도로도 사용할 수 있었습니다. session 말고도 request나 application도 범위에 대해 활용이 다양했는데요. 이를 웹 애플리케이션의 생명주기라고 해서 해당 내용들을 검색해 봤습니다. 아래는 검색내용들입니다. 목차 1. Request Scope (요청 범위) 2. Session Scope (세션 범위) 3. Application Scope (애플리케이션 범위) ..

[Java] 게시판 ⑧ View

잡담html 및 javaScript 코드 같은 경우 양이 너무 많기 때문에  중요 코드 부분만 따로 설명하도록 하겠습니다. Controller를 통해 확인해 본 html의 종류는 list, modify, read, register 4가지 정도입니다. list는 메인화면을 출력하고, register를 통해 새로운 게시글을 등록합니다. read를 통해 원하는 하나의 게시글만 출력하고, modify를 통해 수정할 데이터를 받아와 출력합니다.처음부터 모든 UI를 꾸미는것은 지금 백앤드를 연습하는 단계 임으로 Bootstrap을 이용해서 css부분을 대신하기로 하였습니다. 1. BootStrap부트스트랩(Bootstrap)은 트위터에서 개발된 오픈 소스 프런트엔드 프레임워크로, 웹 개발자들이 반응형 웹사이트와 웹..

[Java Script] Event Bubbling(preventDefault, stopPropagation)

잡담이벤트 버블링(Event Bubbling)은 이벤트가 발생했을 때 그 이벤트가 해당 요소에서 시작하여 부모 요소들로 차례차례 전파되는 과정을 말합니다. 예를 들어, 요소를 클릭하면 해당 요소뿐만 아니라 그 부모 요소들도 같은 클릭 이벤트를 처리할 수 있습니다.  이벤트 버블링의 예아래 예제는 이벤트 버블링을 설명하는 간단한 HTML 및 JavaScript 코드를 보여줍니다. Grandparent Parent Child 예제 설명. child 요소를 클릭하면:. child 요소의 클릭 이벤트 리스너가 실행되어 alert('Child clicked!')가 ..

Java Script 2024.05.28

[Java] 게시판 ⑦ Controller

잡담Controller는 MVC (Model-View-Controller) 패턴에서 클라이언트로부터 받은 요청에 대한 응답을 생성하는 역할을 합니다. 이전에도 언급했듯이 클라이언트로부터 HTTP 요청을 받고 해당요청을 적절한 메서드로 라우팅 합니다. 해당 메서드에서 데이터 검색, 조작, 생성등의 작업을 수행하면서 모델링 된 데이터를 적절한 view를 선택해서 응답합니다.목차BoardController 1.list(GetMapping) 2. register(Get/PostMapping) 3. read, modify(GetMapping) 4. modify(PostMapping) 5. delete(PostMapping)BoardController스프링 기반의 웹 애플리케이션에서 게시판(Board) 관련 기능을..

[Java] 게시판 ⑥ ModelMapper

잡담DB에 대한 설정 같은 경우 형식적으로 정해져 있는 경우가 많습니다. 왜 이렇게 생겼지?라고 생각하게 되는 경우가 많은데 이해하기엔 너무 많은 메서드를 들고 있어서 그렇습니다. 자주 사용하는 메서드가 어떤 동작을 해주는지를 이해하고 형태에 대해서는 그렇구나 하고 넘어가는 게 좋은 거 같습니다. 제 생각이 그렇다는 말이지 다른 생각이 있다면 그 생각이 맞습니다. 1. RootConfig이 코드는 Spring Framework에서 ModelMapper를 설정하기 위한 설정 클래스입니다. ModelMapper는 객체 간 매핑을 쉽게 해주는 라이브러리로, 주로 DTO와 엔티티 간의 변환에 사용됩니다.implementation 'org.modelmapper:modelmapper:3.1.1'ModelMapper..

[Java] 게시판 ⑤ Repository(service) ⓑ

잡담앞서 JPARepository를 이용해서 CRUD 형태의 기본적인 메서드를 만들어봤습니다. 이번에는 메인화면에서 게시글을 출력할 때 전체 출력 및 검색한 내용에 대해서만 출력할 수 있도록 메서드를 작성해 보았습니다.  1. 출력(list)list 메서드에서는 매개변수로 pageRequestDTO를 받아서 BoardDTO클래스를 가지는 PageResponseDTO리스트를 return 합니다. pageRequestDTO는 기본 페이지 정보를 가지고 있습니다. 예를 들어서 첫 페이지 번호, 페이지 사이즈, 검색조건도 받아오고, 입력받은 키워드값도 받아옵니다. list메서드를 이용해서 Controller에서 메인화면을 출력하고 검색한 조건을 활용한 출력도 가능해집니다.@Override public Pa..

[Java] 게시판 ⑤ Repository(service) ⓐ

잡담Repository(service)에서는 게시판에서 기본적으로 사용하는 입력하고, 삭제하고, 검색하는 메서드를 정의합니다. 해당 메서드들을 Controller에서 데이터를 주고받을 때 호출해서 사용할 겁니다.1. BoardServicepackage org.zerock.b01.service;import org.zerock.b01.dto.BoardDTO;import org.zerock.b01.dto.PageRequestDTO;import org.zerock.b01.dto.PageResponseDTO;public interface BoardService { Long register(BoardDTO boardDTO); BoardDTO readOne(Long bno); void modify(B..

[Java] 게시판 ④ Repository(search)

다형성 예시운송 수단 클래스와 하위 클래스들:상위 클래스: 운송 수단(Vehicle)하위 클래스: 자동차(Car), 자전거(Bicycle), 비행기(Airplane)운송 수단(Vehicle) 클래스는 이동하기(move)라는 메서드를 갖고 있습니다. 이 메서드는 자동차, 자전거, 비행기 등에서 다르게 구현됩니다. 자동차는 바퀴를 굴려 이동하고, 자전거는 페달을 밟아 이동하며, 비행기는 날개를 이용해 날아갑니다. 운송 수단 타입의 변수로 자동차, 자전거, 비행기 객체를 모두 참조할 수 있고, 이동하기 메서드를 호출하면 해당 객체에 맞는 방식으로 이동합니다.이 다형성의 이점을 이용하려고 Repository를 만듭니다1. BoardSearch(interface)package org.zerock.b01.repos..

반응형