일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- STS
- 인텔리제이
- 프로그래머스
- 롬복
- JSP
- @RestController
- 기술 대비
- Model2
- 프레임워크
- DDL
- 서브쿼리
- @Controller
- 코딩테스트
- 코테
- 뉴렉처
- 스프링
- 김영한
- AOP
- Lombok
- 인프런
- Join
- select
- MVC2
- Model1
- toUpperCase
- MVC
- 자바
- 서블릿
- SQL
- 메이븐
- Today
- Total
목록개발(0)/Java (5)
Heestory

웹 개발 중 사용자에게 파일을 다운로드하도록 제공해야 하는 경우가 많습니다. 제가 이번 프로젝트에서 똑같은 파일 다운로드였으나 어떤 곳에선 되고, 어떤 곳에선 안되는 문제가 발생했었고, 1차적으로 POST방식을 썼기 때문에 다운로드가 부분적으로만 가능했었습니다. 이번 글에서는 POST 방식과 location.href를 이용한 파일 다운로드 방식의 차이점을 설명하고, 파일 다운로드를 구현하는 Java 컨트롤러 코드를 분석해 보겠습니다. 1. POST 방식 vs. GET 방식(location.href)POST 방식의 파일 다운로드POST 방식으로 파일 다운로드를 구현하려면, 서버에서 파일을 처리하고 응답으로 파일 데이터를 전송해야 합니다. 일반적으로 POST 방식은 데이터를 서버로 전달하는데 사용되며, 파..

지난 포스팅에 이어 웹 애플리케이션 개발에서 **세션(Session)**과 **쿠키(Cookie)**는 사용자 상태를 관리하는 데 중요한 역할을 합니다. 이번 포스팅에서는 세션과 쿠키의 차이점, 각각의 사용 사례, 그리고 Java Spring Framework를 활용한 대표적인 예제를 통해 개념을 명확히 정리해보겠습니다. 세션(Session)과 쿠키(Cookie)의 차이점특징세션 (Session)쿠키 (Cookie)저장 위치서버에서 관리클라이언트(브라우저)에 저장보안상대적으로 안전 (데이터가 서버에 저장됨)보안에 취약 (클라이언트에서 접근 가능)데이터 크기제한 없음 (서버 메모리나 데이터베이스 의존)4KB 제한유지 시간기본적으로 브라우저 종료 시 만료 (설정에 따라 유지 가능)만료 시간을 설정하여 브라..

문제 상황개발 환경에서 localhost를 기반으로 두 개의 프로젝트를 실행하고 있었습니다:Frontend 프로젝트: localhost:8081Admin 프로젝트: localhost:8080이 두 프로젝트에서 POST 방식으로 데이터를 전송할 때마다 사용자가 강제로 로그아웃되는 현상이 반복되었습니다.문제 원인브라우저는 기본적으로 쿠키를 도메인 + 포트 단위로 관리합니다.localhost는 브라우저에서 특별한 호스트로 처리되며, 같은 localhost에서 포트가 다른 경우에도 쿠키가 공유되지 않습니다.때문에 POST 요청을 보낼 때마다 세션이 초기화되었습니다. 문제 해결 방법이 문제를 해결하기 위해 아래 두 가지 접근 방식을 사용할 수 있습니다방법 1: 도메인 분리를 통한 세션 충돌 해결방법 설명두 프로..

상단과 같이 빌드가 되지 않아 run이 되지 않을 때 https://velog.io/@rhqudrnr153/Cannot-start-compilation-the-output-path-is-not-specified-for-module-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0위의 방법을 쓰려 했지만 out 폴더 자체가 없는 상황. . → 이땐, 아무 out 폴더 자체를 생성 후 재빌드 하면 실행이 된다

코드 작성 중에 넘기는 파라미터 개수가 3개에서 점점 많아지더니 결국 7개 되었고 이를 가독성, 유지보수, 솔루션 개발 중이기 때문에 확장성을 위해 코드를 개선하기로 하였다. //무수히 많은 파라미터.. DmSendCallable sendRunnable = new DmSendCallable(sqlSessionFactory, dm_input_no, dm_link_key, filePath, atch_filePath, sender); 파라미터 많을 경우 구글 검색 시 '파라미터 많을 때' 검색해보니 빌더 패턴이 나왔고 GPT는 파라미터 객체, 빌더 패턴을 회사 자체 내부 소스에선 map을 이용하여 전달 중이었다. 그외 지인 회사에선 enum객체를 쓰고 있었는데 나는 빌더패턴, 파라미터 객체, map 이용에 대..