BE

스프링 프레임워크에서 클라이언트 요청을 처리하는 컨트롤러를 정의할 때@Controller와 @RestController 를 사용할 수 있다.  @Controller클라이언트에게 응답을 줄 때 View(Html, JSP 파일)를 찾아서 전달한다.@Controllerpublic class MyController { @GetMapping("/hello") public String hello() { return "hello"; // → ViewResolver가 "hello.html" 파일을 찾아 렌더링 }} "hello"를 반환하면 hello.html 파일을 찾아서 반환해준다. @RestController클라이언트에게 응답을 줄 때 자신이 직접 내용을 전달한다.JSON/XML..
컴포넌트 스캔이란?스프링 부트는 @SpringBootApplication 이 붙어있는 클래스가 있는 패키지 내부에 있는 클래스들을 스캔한다. 스프링 부트 프로젝트를 생성하면 Application 클래스에 자동으로 @SpringBootApplication 이 붙어있다.@SpringBootApplicationpublic class Day01Application { public static void main(String[] args) { SpringApplication.run(Day01Application.class, args); }}컴포넌트 스캔으로 객체가 생성되는 어노테이션@Controller, @RestController, @Service, @Repository, @Configur..
스프링 프레임워크란?자바 기반 애플리케이션 프레임워크자바에서 가장 많이 사용하는 프레임워크다.자바로 애플리케이션을 개발하는 데 필요한 기능을 제공하고 쉽게 사용하도록 돕는 도구 스프링의 특징으로는 제어 역전(IoC)와 의존성 주입(DI)이 있다.제어 역전 (IoC)기존 자바에서는 객체를 생성하고 관리하는 제어 권한이 사람(개발자)에게 있었는데,제어 권한이 스프링에게 넘어가서 제어의 역전(IoC)이라고 한다.-> 원래 객체의 관리 제어권이 사용자에게 있었는데 스프링으로 제어권이 넘어갔다.  사용할 객체를 직접 생성하지 않고, 객체의 생명주기 관리를 외부(스프링 컨테이너)에 위임하는 것 의존성 주입 (DI : Dependency Injection)제어 역전의 방법 중 하나로, 사용할 객체를 직접 생성하지 않..
· BE/Java
JWT란?두 당사자 간에 정보를 안전하게 전송하기 위해 널리 사용되는 JSON 기반의 토큰 표준주로 인증과 권한 부여 목적으로 사용된다.JWT와 세션의 차이특징JWT세션저장 방식클라이언트가 토큰을 저장서버가 세션을 관리서버 부하상태 비저장 (Stateless)상태 저장 (Stateful)확장성마이크로서비스 환경에서 유리분산 환경에서는 부적합보안탈취된 토큰은 만료 전까지 사용 가능세션은 서버 측에서 제어 가능  Stateless? Stateful?더보기Stateless(상태 없음)과 Stateful(상태 유지)는 상태를 관리하는 방식에 따라 구분되는 개념이다. Stateless (상태 없음)요청 간에 서버가 클라이언트의 상태 정보를 저장하지 않는 방식각 요청은 독립적으로 처리되며, 이전 요청의 정보를 참조..
· BE/Java
PortOne 사용https://portone.io/korea/ko 포트원 | 온라인 비즈니스 성장을 돕는 기업포트원이 제공하는 단 한 줄의 코드로 세상의 모든 결제를 손쉽게 연동해보세요. PG사 통합결제 연동, 해외결제, 파트너 정산 관리, 결제 애널리틱스, 수수료 혜택까지, 포트원의 맞춤 컨설팅을portone.io 카카오 결제 연동하기 테스트 채널 추가결제 연동 -> 연동 정보 -> 테스트 -> 채널 추가  테스트 선택 후 결제대행사 : 카카오페이 선택결제 모듈 : 간편결제 선택 후 다음 누르기  채널 이름 입력하고 채널 속성 = 결제 선택PG상점아이디에 카카오페이 일반결제 선택 후 저장  저장을 누르면 테스트 결제 채널이 생긴다. 결제 연동하기 결제 연동하기 공식 문서https://developer..
· BE/Java
카카오 로그인 https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 카카오 로그인 과정https://developers.kakao.com/docs/latest/ko/kakaologin/js#before-you-begin-process Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com   카카오 로그인 데모 그대로 복사해서 jsp 파일에 body 태그..
· BE/Java
DTO 하나에 여러 정보를 담을 것인가?너무 복잡하지 않은 경우에 좋음클래스 파일이 하나라 파일 자체를 관리하기 편함규모가 커지면 하나의 클래스에 너무 많은 역할이 추가됨 DTO를 여러 개로 나눌 것인가?복잡한 경우에 좋음클래스 파일이 여러 개라 파일 자체를 관리하기 불편함규모가 커져도 각각의 파일만 수정하면 돼서 코드를 관리하기 편함예시쿠팡 상품 상세 페이지를 예시로 들 때 가져와야 될 데이터들을 대충 적어보자면 다음과 같다.상품- 이름- 가격- 원래 가격상품 옵션- 내용리뷰- 별점- 리뷰 수판매자- 이름상품 이미지- 경로다른 상품상품 문의다른 고객이 함께 구매한 상품 위의 데이터들을 모두 하나의 모델에 담는다 ? => 너무 많음 고려해야 될 것DB에서 조회할 때 SELECT문을 몇 번 실행할 것인가 ..
· BE/Java
multipart/form-data 란? HTTP 프로토콜에서 파일 업로드나 여러 종류의 데이터를 한 번의 요청으로 전송하기 위해 사용되는 타입이다. 데이터를 여러 부분(Part)으로 나누어 전송하며, 각 부분은 고유한 헤더와 본문을 가진다.   예제  Submit  input 태그의 name 속성과 데이터들이 ----- 로 구분되어 보여진다.마지막 구분선에서는 boundary 값 뒤에 --를 붙여 데이터의 끝을 표시해준다.--------------------------boundaryContent-Disposition: form-data; name="username"JohnDoe--------------------------boundaryContent-Disposition: form-data; ..
· BE/Java
로그인 기능 코드login.jsp 로그인   UserController.javapackage controller;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import model.User;import ..
· BE/Java
폴더 구조src├─ main│ └─ java│ ├─ common│ │ └─ DbConnection.java│ ├─ controller│ │ └─ UserController.java│ ├─ model│ │ ├─ dao│ │ │ └─ UserDao.java│ │ └─ User.java│ └─ service│ └─ UserService.java│└─ web └─ view └─ user ├─ login.jsp └─ signup.jsp  MVC 패턴Controller = UserController.javaView = signup.jsp, login.jspModel = User.java..
셰욘
'BE' 카테고리의 글 목록 (4 Page)