Languages | Frameworks

    BindingResult(rejectValue(), reject())사용하기 -3 + MessageCodesResolver 소개

    1. BindingResult의 rejectValue(), reject() 기능 BindingResult가 제공하는 rejectValue(), reject()를 사용하면, FieldError, ObjectError를 직접 생성하지 않고, 깔끔하게 검증 오류를 다룰 수 있다. bindingResult.addError(new FieldError("item", "price", item.getPrice(), false, new String[]{"range.item.price"}, new Object[]{1000, 1000000}, null)); 이 코드를 bindingResult.rejectValue("price", "range", new Object[]{1000, 1000000}, null); 이렇게 간단하게..

    BindingResult -2

    이렇게 사용하면, 에러를 발생시켜도 사용자가 입력한 변수가 그대로 사용자에게 보여지게 됨 bindingResult.addError(new FieldError("item", "itemName", item.getItemName(), false, null, null, "상품 이름은 필수 입니다.")); 여기서 false는 bindingFailure, null은 순서대로 codes, arguments를 의미 하지만 에러메세지를 properties에 저장해놓고, 불러올 수도 있다. 그러면 defaultMessage에는 null을 넣고, codes에는 String배열을 만들고 properties에 선언한 string객체를 넣어준다. bindingResult.addError(new FieldError("item", ..

    BindingResult(error 출력시 유용) -1

    Method에 BindingResult bindingResult 객체 선언 후( 주의할 점 !! BindingResult객체 선언은 ModelAttribute 다음에 와야함) bindingResult.addError(new FieldError(objectName명, field명, defaultMessage명)); 여기서 FieldError는 특정 Field에 대한 error이다 따라서 globalError를 관리할때에는 ObjectError 생성자를 사용해야함 bindingResult.addError(new ObjectError("item", "가격 * 수량의 합은 10,000원 이상이어야 합니다. 현재 값 = " + resultPrice)); 그리고 검증 실패시에는 if 조건문에 bindingResul..

    docker로 Tomcat에 war파일 배포하기

    1. 소스 Tool에서 Export로 war파일로 압축한다 2. 압축한 war파일을 docker cp명령어로 실행중인 tomcat container내에 webapps에 복사한다(압축한 war파일 있는곳에서 실행해야함) -> docker cp ./ROOT.war [tomcat별칭]:/usr/local/tomcat/webapps 3. 실행중인 container내에 접속해서 webapps폴더에 파일이 있는지 확인한다 -> docker exec -it [tomcat별칭] bash 4. 확인되면 web에서 실행해본다

    Docker 명령어

    docker image 가져오기 docker pull [image명] docker image 확인하기 docker images docker image 실행하기(예시로 tomcat 이미지) docker run -it -d -p 38080:8080 --name [별칭] tomcat:tag명 # 포트 포워딩 ( Host 의 38080 포트를 Container의 8080 포트로 포워딩 ) # 리눅스 쉘에서 sudo ss -antlp 하면 열려있는 포트 확인가능 -> -it는 docker를 실행해도 터미널에서 입력을 할 수 있게하는 옵션이다. -> -d는 백그라운드 모드 실행 -> -p는 포트정보 입력 -> --name은 별칭지정 -> 번외로 --rm은 프로세스 종료시 컨테이너 자동 제거 실행중인 docker c..