HttpServletRequest 역할 HTTP 요청 메세지를 개발자가 편리하게 사용할 수 있도록 HTTP를 파싱한다. 그리고 그 결과를 HttpServletRequest객체에 담아서 제공한다. HTTP 요청 메세지 POST /save HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded username=rosieposie&age=22 START LINE HTTP 메소드 URL 쿼리 스트링 스키마, 프로토콜 헤더 헤더 조회 바디 form 파라미터 형식 조회 message body 데이터 직접 조회 임시 저장소 기능 해당 HTTP 요청이 시작부터 끝날 때까지 유지되는 임시 저장소 기능 저장 : request.setAttr..
요청사항 : 운영에서 관리자 페이지 접속 시 접속 불가하고 해당 에러메세지 출력 매일 요청사항을 받으며 느끼는 거지만 같은 에러인 것 같으면서도 달라서 오 나이거 아는데 하다가도 다시 구글링함 502 Bad Gateway를 주로 보다가 오늘은 proxy error를 보았다 일단 해당 서버와 웹서버 확인 결과 정상으로 작동하고 있어서 구글링 시작함 아파치 관련 문제라는 질문과 답변을 보았는데, 아파치 설정에서 KeepAlive를 ON ⇒ OFF 설정을 바꾸면 해결이 된다고 한다라는 답변과 어떤 분은 어플리케이션 재기동 했더니 정상 동작한다는 답변을 찾음 일단 담당자에게 컨펌받고 어플리케이션 재기동함. 결과는? 정상동작 아파치 설정이 문제였다면 기존에도 문제가 되었을텐데, 나에게 들어온 요청으로는 처음이었음..
Goal : 캡슐화의 의도 & 목적을 이해하고 코드에서는 어떻게 구현되는지 알아본다 Encapsulation 캡슐화란 ? 객체 지향 프로그래밍 (OOP)에서 캡슐화는 데이터를 해당 데이터에 대해 작동하는 메서드와 번들로 묶거나 일부 개체 구성 요소에 대한 직접 액세스를 제한하는 것을 말합니다. 캡슐화는 클래스 내부의 구조화된 데이터 개체의 값이나 상태를 숨기는 데 사용되며 숨겨진 구현 세부 정보를 노출하거나 메서드에서 유지 관리하는 상태 불변성을 위반할 수 있는 방식으로 클라이언트가 직접 액세스하는 것을 방지합니다. public class MotorBike { //state int speed; //behaviour void start(){ System.out.println("MotorBike.start"..
스프링프로젝트 쉽게 생성해주는 https://start.spring.io/ 로 접속하여 아래와 같이 세팅하고 Generate 클릭 ** Jsp를 사용할 것이기 때문에 war로 패키징을 선택 보통 jar 사용시에는 내장 톰캣(스프링부트) = 스프링부트가 빌드된 결과에 톰캣 서버를 내장해서 바로할 때 사용한다. war도 동일하게 위와 같이 되지만, 톰캣 서버를 별도로 설치하고 별도로 war에 빌드해서 넣을 때 사용함!!! 2. 생성된 zip파일을 사용할 폴더에 넣고 압축해제 3. 인텔리제이에서 오픈선택 후 servlet -> build.gradle 오픈! ** 프로젝트가 오픈이 되면 꼭 build.gradle 파일에서 패키징이 war로 되어있는지 확인할 것! plugins { id 'org.springfra..
요청사항은 마지막에 전자서명하고 계좌신청이 제대로 안된다는 부분이었는데, 잘 되던 전자서명이 안 될리는 없고 에러찍어보니 파일무해화 서버 호출하고 그 쪽에서 결과값은 제대로 받았는데 자바 IOException이 나고 있었다! 스프링부트에서 파일 업로드 임시경로를 찾지못해서 생기는 에러였음 구글링 해보니, 스프링부트에서 파일업로드를 할 때 임시로 경로를 만들어서 하는데, centos에서 주기적으로 사용하지 않는 임시폴더를 삭제한다고한다. 그것도 그럴게 프로젝트 서비스 특성상 사업자등록증을 검증해야되서 사업자신청일 경우만 파일을 던지고 계좌를 신청하는데 최근 신청 구분은 거의 개인 고객이었고 사업자구분은 드물었다. 그래서 centos에서 사용하지 않는 임시폴더구나 하고 삭제한듯. 해결방안 1. 스프링부트 재..
정의 JSON(JavaScript Object Notation)은 속성-값 쌍, 배열 자료형 또는 모든 시리얼화 가능한 값 또는 '키-값 쌍'으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. => JSON은 단순히 데이터를 표시하는 표현 방법일 뿐, 다른 예로는 xml 이 있다. 배열(Array) 배열은 대괄호[]로 나타낸다. 배열의 각 요소는 기본 자료형이거나 배열, 객체이다. 각 요소들은 쉼표(,)로 구별된다. 각 요소가 나타나는 순서에 의미가 있다. [10, {"v": 20}, [30, "마흔"]] 객체(Object) 객체는 이름/값 쌍의 집합으로, 중괄호{}를 사용한다. 이름은 문자열이기 때문에 반드시 따옴표를 하며, 값은 기본 자료형이다..