[Spring][tomat] 세션 타임아웃 설정
·
STUDY/SpringLegacy
세션이란?세션(Session)은 웹 애플리케이션에서 사용자와 서버 간의 대화를 지속적으로 유지하는 방법을 의미합니다.웹은 기본적으로 **무상태(stateless)**이기 때문에, 사용자가 페이지를 이동할 때마다 서버는 이전 요청에 대해 기억하지 못합니다. 세션은 이를 해결하기 위해 사용됩니다.로그인 상태 유지사용자가 로그인하면 서버는 그 정보를 세션에 저장합니다.이후 사용자가 다른 페이지로 이동해도, 서버는 세션을 참고해 "이 사용자는 로그인된 상태구나"라고 알 수 있습니다.쇼핑몰 장바구니사용자가 상품을 장바구니에 추가하면, 그 정보가 세션에 저장됩니다.사용자가 페이지를 이동하거나 새로고침을 해도, 장바구니 상태는 유지됩니다.세션의 동작 원리사용자가 서버에 접속하면서버는 사용자를 식별하기 위해 고유한 세..
[Spring] MultipartFile 다중 파일 업로드 받아 API에 전달하는 컨트롤러 구현
·
STUDY/SpringLegacy
MultipartFile 다중 파일 업로드 받아 API에 전달하는 컨트롤러 구현public static final String API_URL = "여기에 api url 입력";@PostMapping("/multipart/fileupload")@ResponseBodypublic ResponseEntity uploadAudioFile( @RequestParam("file") List files, // 업로드할 파일 리스트 @RequestParam("userid") String userId, // 사용자 ID @RequestParam("authkey") String authKey) { // 인증 키 t..
[Spring] maven grpc client 구현을 위한 pom.xml 작성
·
STUDY/SpringLegacy
버전 때문인지 계속 설정을 해도 proto 파일에 대한 자바코드가 자동 생성되지않아 애를 먹었다. 참고 : https://ecolumbus.tistory.com/138 GRPC 자바 두번째 코드생성전 포스팅에서 개념에 대해 알아봤다. 이번에는 .proto 파일을 정의하고 코드를 생성하는 방법을 알아보자. 난이도가 낮으니 소개한 대로만 크게 어려움은 없을 듯싶다. 준비물 자바 1.8, 메이븐,ecolumbus.tistory.com  1.68.1 3.25.5 버전 관리grpc.version: 1.68.1protobuf.version: 3.25.5버전 확인 링크: https://mvnrepository.com/artifact/io.grpc/grpc-protobuf/1.68.1..
[Spring] Interceptor 인터셉터
·
STUDY/SpringLegacy
스프링 인터셉터에 대한 자세한 설명스프링 인터셉터는 스프링 MVC에서 HTTP 요청을 가로채어 처리하는 강력한 기능입니다. 클라이언트의 요청이 컨트롤러에 도달하기 전 또는 후에 특정 작업을 수행하여 애플리케이션의 다양한 부분에서 유용하게 활용될 수 있습니다.인터셉터의 주요 기능요청 가로채기: 클라이언트의 요청이 컨트롤러에 도달하기 전에 가로채서 특정 로직을 수행합니다.응답 가로채기: 컨트롤러에서 처리된 결과가 클라이언트로 전달되기 전에 가로채서 추가적인 작업을 수행합니다.공통 기능 처리: 로그인 인증, 권한 체크, 성능 측정 등 공통적으로 수행해야 하는 작업을 인터셉터에서 처리하여 코드 중복을 줄이고 유지보수성을 높입니다.AOP(Aspect Oriented Programming) 적용: AOP 관점에서 ..
[STS] Spring MVC Project 템플릿 없음 해결방법
·
STUDY/SpringLegacy
STS3로 스프링 프레임워크 프로젝트를 만들기 위해 Spring Legacy Project를 이용한다.이때 Spring MVC Project 템플릿이 없는 경우가 있다.  Configure templates... 를 눌러보자.  spring-data-gemfire와 spring-integration을 삭제하고 적용시키자.적용 후 확인했을 때 나오는 사람이 있고 안 나오는 사람이 있을 것이다.만약, 안 나온다면 아래의 방법을 따라 하자. 1. STS3 종료 후 워크스페이스 아래 경로로 이동.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core경로로 이동하면 폴더가 비어있을 것이다.  2. https-content.xml 파일 복사하기 해당..
[Spring] Spring에서 클라이언트로부터 파라미터를 받는 방법과 Content-Type 설정
·
STUDY/SpringLegacy
Java Spring에서 클라이언트로부터 파라미터를 받는 방법과 contentType 설정에 대해 정리 Content-Type 설정Content-Type은 클라이언트가 서버에 전송하는 데이터의 형식을 나타내는 HTTP 헤더입니다. 서버는 이 정보를 사용하여 요청 본문을 올바르게 처리합니다.일반적인 Content-Typeapplication/x-www-form-urlencoded: 기본 폼 데이터 전송 형식. @RequestParam을 사용할 때 기본적으로 이 형식을 사용합니다.application/json: JSON 형식의 데이터를 전송할 때 사용합니다. @RequestBody와 함께 사용됩니다.multipart/form-data: 파일 업로드 시 사용됩니다. 파라미터 수신 방법@RequestParam용..
[Spring] @Autowired null 문제 해결 (필드 주입 사용 시)
·
STUDY/SpringLegacy
관련글 : https://rebornbb.tistory.com/entry/Spring-Resource-Autowired-Inject-%EC%B0%A8%EC%9D%B4 Spring에서 @Autowired 어노테이션을 사용하여 의존성 주입을 할 때 원하는 객체가 null로 반환되는 경우가 발생할 수 있습니다. 특히 필드 주입 방식을 사용하는 경우 주의가 필요합니다. 이러한 문제는 일반적으로 의존성 주입이 제대로 이루어지지 않은 경우 발생하며, 해결 방법은 상황에 따라 다릅니다.2. 주요 원인필드 주입 방식으로 @Autowired를 사용할 때 발생하는 null 문제는 다음과 같은 이유가 있습니다.객체 생성 방식: new 키워드를 사용하여 직접 객체를 생성하는 경우 @Autowired 어노테이션이 동작하지 않습..
[Spring] Bean 등록하는 다양한 방법
·
STUDY/SpringLegacy
Spring Bean 등록 방법Spring Bean을 설정하는 방법에는 크게 XML 설정을 통한 방법과 Java 설정을 통한 방법이 있습니다. 그리고 각 설정 방법마다 Bean을 직접 등록하는 방법과 컴포넌트 스캔을 활용하여 등록하는 방법이 있습니다. 각 방법에 따라 다음 정보를 Bean으로 등록하는 예시를 통해 설정 방법을 알아보겠습니다. MyService 객체가 MyRepository 의존성을 갖고 있다.다음과 같이 MyService와 MyRepository 클래스를 정의합니다.public class MyService { private final MyRepository myRepository; public MyService(MyRepository myRepository) { this.myRe..