Tsunayoshi Tsuna Sawada - Katekyo Hitman Reborn 3 'Spring' 카테고리의 글 목록 (3 Page) — 개발하는 핸니
[JUit] Argument(s) are different! Wanted: 에러
·
Spring/Error
😱 에러Board를 조회,추가,삭제,수정하는 BoardController Test코드를 작성하는 도중, Argument(s) are different! Wanted: 라는 에러가 발생했다 🥺 에러를 해결하고 왜 이러한 에러가 발생했는지 알아보자   📌 Error 해석✏️ Argument(s) are different! Wanted: 우선 에러를 파악해보자코드를 다 읽을 필요없이 중요한 코드만 해석해보자Argument(s) are different!Actual invocations have different arguments:arguments값이 다르다고 한다. 값을 찍어보니 컨트롤러에서 출력되는 값과 테스트 코드에서 출력되는 값은 분명 일치하는데, 객체의 실제 멤버변수 값을 비교하는게 아니라 "참조..
[Spring] 연관관계 매핑
·
Spring
👩‍💻  연관관계 매핑  📌연관관계 매핑✏️ 연관관계 매핑이란?객체간의 관계를 데이터베이스의 관계로 어떻게 매핑할 지 정의하는 것  ✏️ 연관관계가 왜 필요한데?: 데이터베이스에서는 연관관계를 구사하기 위해서 외래키(FK)를 사용한다. 만약 테이블과 같이 객체에 외래키를 넣어주게 된다면, 외래키를 통해서 또 객체를 찾아야하는 번거로움이 존재한다. 참조 객체를 필드값으로 가지고 있으면 이러한 번거로움이 해결되기에 "객체지향적 코드"가 된다. 이러한 이유로 연관관계 매핑을 사용해주는 것이 좋다. 테이블과 같이 객체에 외래키를 넣어준 경우/* Member 객체 코드 */public class Member{ private Long memberId; private Long teamId;}/* 해당 Me..
[Spring] Jsoup를 사용한 html 파싱
·
Spring
👩‍💻  Jsoup  📌Jsoup✏️ Jsoup란?: Jsoup에 대해 알아보자Jsoup란 html 문서의 String을 넘겨주면 Java Dom 객체 형식으로 변환시켜 Html에 저장된 데이터를 추출할 수 있는 Java 오픈소스 라이브러리이다.  ✏️ Jsoup의 주요 요소: Jsoup의 주요 요소는 크게 다섯가지로 볼 수 있다클래스 명설명DocumentJsoup 얻어온 결과 HTML 전체 문서ElementDocument의 HTML 요소ElementsElement가 모인 자료형. for & while 등 반복문 사용이 가능ConnectionJsoup의 connect 혹은 설정 메소드들을 이용해 만들어지는 객체. 연결을 하기 위한 정보를 담고 있음ResponseJsoup가 URL에 접속해 얻어온 ..
[Spring]강의 들으며 헷갈리는 Spring 개념 정리
·
Spring
📎 강의 들으며 헷갈리는 Spring 문법 정리 📌HTTP 요청 메시지 :HTTP 요청 메시지에 대해 더 자세한 내용은 아래의 글을 참고하자 https://dev-haen.tistory.com/19 🙋🏻‍♀️ HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법을 알려주세요 ! 💡HTTP 요청 메시지를 통해 클라이언트에서 서버로 값을 가져올 땐 주로 다음 3가지 방법을 사용합니다. 1. GET - 쿼리 파라미터 2. POST - HTML Form 3. HTTP message body에 데이터를 직접 담아서 요청 GET - 쿼리 파라미터 /url?username=hello&age=20 Message Body 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이..
스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 [API 예외 처리]
·
Spring
👩‍💻  API 예외 처리  📌API 예외 처리 - 시작✏️ API 예외 처리 목표: API 예외 처리 방법에 대해 알아보자.HTML 페이지의 경우 지금까지 설명했던 것 처럼 4xx, 5xx와 같은 오류 페이지만 있으면 대부분의 문제를 해결할 수 있다.그런데 API의 경우에는 생각할 내용이 더 많다. 오류 페이지는 단순히 고객에게 오류 화면을 보여주고 끝이지만, API는 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야 한다.   ✏️ ApiExceptionController - API 예외 컨트롤러: API예외를 처리하는 컨트롤러 코드를 작성해보자.단순히 회원을 조회하는 기능을 하나 만들었다. 예외 테스트를 위해 URL에 전달된 `id` 의 값이 `ex` 이면 예외..
스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 [예외 처리와 오류 페이지]
·
Spring
👩‍💻 예외 처리와 오류 페이지 📌서블릿 예외 처리 ✏️ 서블릿 컨테이너의 예외 처리 : 스프링이 아닌 순수 서블릿 컨테이너는 예외를 어떻게 처리하는지 알아보자. 서블릿은 다음 2가지 방식으로 예외 처리를 지원한다. Exception(예외) response.sendError(HTTP 상태 코드, 오류 메시지) ✏️ Exception(예외) : 서블릿 컨테이너의 Exception(예외) 방식을 알아보자. "웹 애플리케이션" 웹 애플리케이션은 사용자 요청별로 별도의 쓰레드가 할당되고, 서블릿 컨테이너 안에서 실행된다. 애플리케이션에서 예외가 발생했는데, 어디선가 try ~ catch로 예외를 잡아서 처리하면 아무런 문제가 없다. 그런데 만약에 애플리케이션에서 예외를 잡지 못하고, 서블릿 밖으로 까지 예외가 ..
스프링 MVC 2편 - 백앤드 웹 개발 핵심 기술 [Servlet Filter && Interceptor]
·
Spring
👩‍💻 로그인 처리2 - Servlet Filter & Interceptor 📌공통 관심 사항 ✏️공통 관심 사항 : 요구사항을 보면 "상품 목록" 페이지는 로그인 한 사용자만 상품 관리 페이지에 들어갈 수 있어야 한다. 앞에서 로그인을 하지 않은 사용자에게는 상품 관리 버튼이 보이지 않기 때문에 문제가 없어 보인다. 그런데 문제는 로그인 하지 않은 사용자도 다음 URL을 직접 호출하면 상품 관리 화면에 들어갈 수 있다는 점이다. 📌 서블릿 필터 ✏️ 서블릿 필터란 ? : 필터는 서블릿이 지원하는 수문장이다. 필터의 특성은 다음과 같다. 필터를 적용하면 필터가 호출 된 다음에 서블릿이 호출된다. 그래서 모든 고객의 요청 로그를 남기는 요구사항이 있다면 필터를 사용하면 된다. 참고로 필터는 특정 URL 패..
스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 [Cookie & Session]
·
Spring
👩‍💻 로그인 처리1 - 쿠키, 세션 📌로그인 요구사항 ✏️로그인 요구사항 : 로그인 요구사항에 대해 먼저 알아보자. "홈 화면 " - 로그인 전 "홈 화면 " - 로그인 후 " 로그인 " , " 회원 가입", " 상품 관리" 📌홈 화면 ✏️홈 화면 개발 :홈 화면을 개발하자. HomeController를 생성하고, templates에 /home.html을 추가하였다. ✏️회원 가입 :회원 가입 화면 개발 Member Class를 생성해주었다. 사용자가 로그인 할 때 저장되는 아이디값을 loginId, 사용자 이름을 name, 비밀번호를 password라는 변수로 생성해주었고, 빈 값이 들어오면 안되기때문에 @NotEmpty Validation을 사용하였다. Member를 저장하는 MemberReposi..