글 작성자: 개발섭

안녕하세요. 이것저것 더 만들어 보고 코드 구현을 조금 더 해보았습니다.

이번에 구현했던 것들

이번에 구현해본건 API키값을 단독 구현해보았고, 에러페이지를 만들어 보았습니다.

 

어떤 식으로 개발했는지에 대해서...

일단 기본 톰켓에서 서버문제든 404 오류가 발생했을경우 그 에러가 그대로 노출되는 경우가 있습니다. 그 경우, 제 코드의 노출이 발생할수도 있고 보안상의 문제가 있기도하기때문에 에러페이지에 대해서 처리를 할 필요를 느꼈습니다.

 

대충 이런식으로 나와야한다.

 

그러면 제가 어떤 오류를 범했는지 정도만 외부의 사람들에게 전달할 수 있고, 오류의 세부사항은 이클립스의 콘솔창에서만 확인 가능하기때문에 어느정도의 보안성을 유지하는 방법으로써 사용 가능합니다..

 

그렇다면 Spring에서는 어떤식으로 에러처리를 하는지를 알아보죠.

 

방법은 여러가지가 있을테지만, 개인적으로 가장 괜찮다고 느꼈던건 차라리 에러 컨트롤러를 만들자는 것이였습니다. 

 

https://www.baeldung.com/custom-error-page-spring-mvc

 

Custom Error Pages with Spring MVC | Baeldung

Learn how to quickly implement an custom error page in Spring MVC (for each HTTP code)

www.baeldung.com

이 블로그에서는 HTTP 코드에 따른 에러처리를 컨트롤러에서 에러처리 번호를 보고 그것에 대한 값을 처리하는 것이죠.

즉, 예를들어 에러가 404 에러면 그에따른 처리 내용이 따로 나오고, 500에러면 그에 따른 에러 멘트가 새롭게 달리는 방식인거죠. 

 

타 방식에서 404.jsp를 만들고 web.xml에 일일히 매핑하는 방식보다는 오히려 이게 좀 더 편리하다고 느꼈습니다. 

 

https://happygrammer.tistory.com/145

 

스프링프레임워크에서 404 에러코드 발생시 에러페이지 연결 방법

web.xml 파일에 에러 코드 별로 에러를 처리할 페이지를 다음과 같이 둡니다. 400 /400 404..

happygrammer.tistory.com

물론 404에러나 특정 에러에 대해서 특정한 디자인이나 그 값에 대한 센스있는 디자인을 만들기위해서는 이런 방식이 좀 더 유리 할 것 같기도 하지만, 개인적으로는 500에러와 400번대 에러가 많이 나올수도 있기때문에 일일히 작업하기보다는 그냥 한 컨트롤러에서 적용하는 방식이 가장 좋다고 생각해서 만들었습니다.

 

두번째는 API키값을 단독해서 분리하는게 좋다고 생각해서 단독 파일을 만들었습니다.

 

물론 controller에 그 키값을 사용하는것도 괜찮겠지만, 제가 여러가지 컨트롤러를 만들지도 모르는 일이고, 한 파일에서 모든 키 값을 가지고 있는 것 자체가 결국 제가 유지보수를 하는데 있어서 편리하기 때문에 따로 분리를 했습니다. 수정하기도 쉽고, 모든 컨트롤러에 적용하기도 편해보여 선택했습니다.

 

저가 만든 방식은 DAO패키지를 만들어서 직접 구현했습니다. 물론 DAO를 만들일은 거의 없긴한데(아직까지는 DB에 저장해서 값을 전달할 필요성은 잘 못느꼈거든여...API에서 때와서 쓰는 정도만 구현했으니)  그래도 키값이고 어느폴더가 좋을까 싶어서 예전에 강의에서 배웠던 DAO패키지에 따로 API_KEY 자바 파일을 만들어서 따로 컨트롤러에 그 값을 가져오는 방식을 택했습니다.

 

또한 Result.jsp를 좀 더 수정해봤습니다. 

이런 구현은 어떤 결과값을 내보여줄까?

검색시 값을 못찾거나, API키값이 만료가 된 경우
404오류 홈 아래의 하위페이지를 못찾은 경우 페이지를 띄움.

 

 

추가적으로 뭘 더 구현할 생각인지?

 

리그값 받고 리그 명과 리그 명을 띄우는 것 만들기. 레이아웃 개선과 친구들이나 외부인에게 보여줄 수 있는 웹서버 개설 건에 대해서 이야기 해보겠습니다.