목록전체 글 (255)
-
# 주소 https://www.acmicpc.net/problem/1548 1548번: 부분 삼각 수열 세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])의 모든 b[i], b[j], b[k]가 삼각관계에 있으면 이 수열은 삼각 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.Arrays; import java.util.Scanner; public class Main { static int n; static int[] arr; static int min = 1; public static void main(String[] ..
이제는 로그인을 구현해보도록 하겠습니다. 마찬가지로 기본 프론트 양식은 갖추어져 있기 때문에 다듬는 과정으로 진행할 것입니다. signin.jsp의 action과 method를 다음과 같이 바꿉니다. 이렇게 로직을 짜면 로그인할 때 제출 방식이 "POST"가 됩니다. 아마 이런 질문을 하실 수도 있을 것 같습니다. "데이터를 입력하는데 도대체 왜 post방식을 써야 하나요?" 라고 말이죠. 지금 로그인은 데이터를 Insert하는 것이 아니라 데이터를 Select하는 것이 아닌가? 도 생각할 수 있습니다. 맞습니다. 원래는 아시다시피 Select할 때에는 Get방식을 채용해야 합니다. 그런데도 method = "POST"라고 입력한 이유는 username과 pw는 귀중한 정보이기 때문에 GET방식을 쓰게되..
저번 포스팅에서 우리는 Map을 이용해서 return했었습니다. 그런데 문제가 하나 있는데, 길이를 아주 길게 써서 작성하면 정상적으로 오류를 뱉지만 "유효성 검사에 실패했습니다" 메세지도 같이 출력하고 싶은데 그렇지 못띄웁니다. 메세지도 같이 띄우고 싶은데 그러지 못하기 때문에 dto에 클래스를 하나 만듦으로써 공통 응답 처리를 한 번 해보도록 하겠습니다. 이런식으로 web - dto내부에 auth 내부가 아닌 곳에 CMRespDto 클래스를 생성해보겠습니다. 그리고 Getter, Setter대신 롬복 라이브러리를 이용하고 있으므로 Data어노테이션과 No-, All-어노테이션을 답니다. 우리는 message와 errorMap 둘 다를 받고 싶은 것이기 때문에 dto는 이쯤 해두고 ControllerE..
지난 포스팅에 이어서 진행해보도록 하겠습니다. @ResponseBody 어노테이션을 달 경우 Controller가 붙혀져 있다 하더라도 return할 때 데이터를 return할 수 있다고 했었습니다. 그런데 이렇게 분기를 이용해서 return하게되면 file과 데이터를 다 return할 수는 없기 때문에 이 예외를 공통으로 처리하는 Handler가 필요해지게 됩니다. 그러므로 제가 해볼 것은 if문을 통해서 만약 에러가 발생했다면 이를 errorMap에 담아서 에러가 발생했다고 바로 return하지 않고 throw를 이용해서 나타낼 것입니다. 바로 이렇게요. 그리고 서버를 실행하고 오류를 일부러 발생시키면 다음과 같이 출력이 됩니다. 근데 회원가입하시면서 이렇게 뜨는 사이트를 혹시 보신적 있으신가요???..