Springboot 15

14. 로그인 처리(세션 메모리지는 누가 관리하고 있을까?)

💡 학습 목표signin.jsp 파일 생성 및 로그인 화면 요청 기능 구현로그인 처리 기능 만들기로그아웃 기능 만들기 1. signin.jsp 파일 생성 및 로그인 페이지 요청 기능 구현결과 화면  user/signIn.jsp   로그인 Bank App에 오신걸 환영합니다 username: Password: 로그인   UserController - 로그인 화면 요청 기능 추가 및 코드 수정   // 회원 가입 요청 처리 // 주소 설계 http://localhost:8800/user/sign-up // Get, Post -> sign-up 같은 도메인이라도 구분이 가능하다. // REST API 를 사용하는 이유에 대해한번 더 살펴 보세요 @PostMapp..

13. 회원 가입(트랜잭션, 예외 처리, H2 테이블 생성)

💡 1. dto 설계 하기 및 개념 확인(사전 기반 지식) 2. UserController, UserService 설계 및 유효성 검사, 예외 처리 3. h2 스키마 및 초기 데이터 셋팅 4. 회원 가입 화면 구현 1. 사전 기반 지식DTO 패키지와 Model 패키지를 분리하는 것이 바람직하다.💡 DTO(Data Transfer Object)와 모델 클래스를 분리하여 패키지를 만드는 것이 좋습니다. 그 이유는 다음과 같습니다:코드의 가독성 및 유지 보수성: DTO와 모델 클래스를 별도의 패키지로 구분함으로써 코드의 구조가 명확해지고, 관련 클래스를 찾기 쉬워집니다. 이를 통해 유지 보수성이 향상됩니다.객체의 역할 구분: 모델 클래스는 데이터베이스의 테이블 구조를 표현하는 반면, DTO는 클라이언트와 ..

12. MyBatis 설정 (DB 접근 기술이란?)

💡 학습 목표MyBatis 란 뭘까?MyBatis 의존성 설정 확인yml 파일 매퍼 설정 확인mapper 패키지 및 xml 파일 생성 공식 문서 확인https://mybatis.org/mybatis-3/ mybatis – MyBatis 3 | IntroductionWhat is MyBatis? MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis c..

11. 어노테이션 정리

@Autowired: 의존성 주입(Dependency Injection)을 수행할 때 사용되며, 필드, 생성자, 메서드에 적용할 수 있습니다.@Controller: 웹 애플리케이션의 컨트롤러 클래스를 표시합니다.@Service: 비즈니스 로직을 수행하는 서비스 클래스를 표시합니다.@Repository: 데이터 액세스 계층에 사용되는 리포지토리 클래스를 표시합니다.@RestController: RESTful 웹 서비스의 컨트롤러 클래스를 표시합니다. **@Controller**와 **@ResponseBody**를 함께 사용하는 단축 형태입니다.@Configuration과 @Component의 주요 차이점 @Configuration은 스프링 빈을 정의하는 설정 클래스에 붙이는 반면, @Component는 단..

10. Exception Handler 처리(HTTP 상태 코드가 뭘까?)

💡 학습 목표@ControllerAdvice, @RestControllerAdvice 는 뭘까?@ControllerAdivce 와 @RestControllerAdivce 에 차이점을 이해 하자.사용자 정의 예외 클래스를 만들기@ControllerAdvice 구현해 보기에러 페이지 코드 수정 (errorPage.jsp)직업 예외 발생해보기 1. @ControllerAdvice, @RestControllerAdvice 는 뭘까?HTTP 통신을 통해 예외 상황을 클라이언트에게 알려주는 방법은 여러 가지가 있으며, 이들을 적절히 사용하는 것이 중요합니다.**@ControllerAdvice**와 **@RestControllerAdvice**는 Spring Framework에서 제공하는 어노테이션들로, 애플리케이..

9. MainController, mainPage.jsp 구현

💡 작업 순서mainController.java 파일 생성간단한 CSS 설정하기외부 스타일 시트로 변경 하기하단에 붙는 푸터 설정하기 (가운데 컨텐츠가 작으면 푸터가 중간으로 올라 옴) 버그 확인 // TODO - tools xml 파일 error check providedCompile 'javax.servlet:javax.servlet-api:3.1.0'1. mainController.java 파일 생성package com.tenco.bank.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controller // IoC 대상(싱글톤 ..

7. 화면 구현 - 1(템플릿 가져오기)

작업 순서 1. 부트스트랩 활용 하기 2. main.jsp 파일 생성     https://www.w3schools.com/bootstrap4/tryit.asp?filename=trybs_template1 W3Schools online HTML editorThe W3Schools online code editor allows you to edit code and view the result in your browserwww.w3schools.com    결과 확인 ! 간단하게 설명해서 우리가 생성한 서버에서 접근 방식을 호스명:포트번호:자원에위치를 통해서 요청을 하였고 HTML 파일 형식으로 응답 받은 후 우리 로컬 프로그램인 웹 브라우저가 태그를 분석해서 렌더링 과정을 확인 하였습니다.SSR 렌더링을 ..

6. 모델링

💡 모델링(modeling)이란현실 세계의 시스템이나 프로세스를 컴퓨터 시스템 내에서 표현하기 위해 추상화하는 과정을 의미합니다. 이 과정에서 중요한 정보를 식별하고, 해당 정보 간의 관계를 정의하여, 데이터 구조나 알고리즘 등을 설계합니다. 모델링은 소프트웨어 개발 과정에서 요구 사항 분석, 설계, 구현 전 단계에서 중요한 역할을 합니다. 특히, 데이터베이스 모델링은 정보 시스템의 데이터 구조를 설계하는 데 중점을 둡니다.DB 존재하는 데이터 타입과 자바에서 사용하는 데이터 타입은 일치 하지 않습니다. DB 세상에 있는 존재들을 자바 세상에 존재할 수 있도록 모델링 해봅시다. ORM (Object-Relational Mapping)ORM은 객체-관계 매핑을 의미하며, 객체 지향 프로그래밍 언어를 사용..

5. 코딩 컨벤션

코딩 컨벤션(coding convention)은 특정 프로그래밍 언어로 코드를 작성할 때 따르는 스타일 가이드 또는 규칙 세트입니다. 이는 변수명, 메서드명, 클래스명의 네이밍 규칙, 들여쓰기, 주석 작성 방법, 파일 구조, 코드 정렬 방식 등 프로그램의 가독성, 유지보수성, 일관성을 향상시키기 위한 방법론을 포함합니다.  코딩 컨벤션 정의정적 파일 (CSS, XML, JS)규칙: 소문자 사용, 단어 간 구분은 스네이크 케이스(_)로 합니다.예시: style_sheet.css, config_file.xml, main_script.jsJSP 파일규칙: 카멜 케이스(CamelCase)를 사용하여 첫 글자는 소문자로 시작합니다.예시: home.jsp, accountPage.jsp자바 파일 (클래스)규칙: 파스..