인생후반전 지식과 삶의 기록
대충알면 개고생.. 본문
겨우 했는데 안되네..
오늘 쇼핑몰 메인페이지 작동을 목표로 하고 전자정부프레임만 생성한 다음 어제의 시행착오를 바탕으로 xml생성하고 수정해가면서 마이그레이션 시작했다. 어제 문제되었던 마이바티스설정은 무사히 통과하고 어렵지않게 메인페이지까지는 띄울수 있었다. 그런데.. css나 이미지가 전혀 적용되지 않아 몽땅 깨진채로 나온다.
어? 전에는 괜찮았는데..
분명히 이전에 실습할때 똑같은 조건에서 할때는 이미지 잘 나왔는데..? 그래서 예전에 코딩한 30강 소스 다시 찾아서 확인을 했는데.. 알고보니 그때도 이미지는 나오지 않았다. 이미지가 적어서 표시가 나지 않았을뿐.. 그때 이미지 깨진것을 보고도 별것 아니라고 무시하고 넘어갔는데.. 오늘 대형사고의 원인이 그것이었다.
resources폴더 접근 오류
확인된 증상은 resources폴더에 접근을 못하는 것이다. 결론은 servlet설정에 중요한 두가지가 빠져서 그런것이다.
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
지금까지는 이것없이도 잘 되어서 일부러 넣지 않았다. 그런데 이것은 아다리가 잘 맞아서 드나나지 않은것 뿐이었다. 테스트코드할때는 이미지가 없으니까 이거 없어도 되는줄 알았다.
우짜라고..
인터넷 검색결과 resources 설정해야 한다고 한다. 이것도 정말 별의별 케이스가 많았다. 케이스와 답변이 너무 많고 버전도 달라서 잘못하면 정말 배가 산으로 갈수도 있겠더라. 몇시간동안 맨땅에 헤딩한 결과 해결책은 resources 설정하는것이다. 그래서 그렇게 했다. 그랬더니 이번엔 아예 페이지가 뜨지 않는다. 이 설정을 빼면 페이지가 뜨기는 하는데 몽땅 깨진채로 뜨고.. 이 설정을 하면 아예 페이지를 찾지 못하고.. 아오 진짜... 이거하면 저게 안되고.. 저거하면 아예 안되고.. 또 검색하고 테스트하고..
선무당이 사람잡아
원인이 뭘까? 타일즈 버전? 스프링 버전? 아니면 둘다? 내가 모르는 문제? 암튼 될때까지 질러보자. 그래서 별의별짓 다하면서 개고생한 결과.. annotation-driven 설정도 같이 해아 작동하는 것이다. 아니.. 이 설정없어도 어노테이션 잘 되서 쓸데 없는건줄 알았는데.. 아니었네. 이래서 알려면 제대로 알아야 한다.
배운것
이번일을 계기로 서블릿설정에 대해 많이 알게 되었다. 필수설정은 무엇이고 이것이 없으면 어떻게 되는지 3시간 넘게 몸소 체험하면서 배웠다. 덕분에 죽을때까지 까먹지는 않겠다. 이전버전소스에도 항상 있는 내용들이었는데 버전바뀌면서 필요없어진줄 알았더니 아니었네. 이번에 뚝배기 제대로 깨졌지만 용도를 제대로 알았으니까.. 남는것이 있어서 다행이다.
혼자는 힘들어..
이런것은 아는 사람이 콕 찍어주면 5분만에 해결될 일인데.. 혼자서 맨땅에 헤딩하면 이렇게 된다. 앞으로도 이런거 계속 나오겠지.. 그리고 맨땅에 헤딩할테고.. 머리통은 터지겠지만 그때마다 하나씩 알아가겠지.. 시간 허비가 심하지만 그래도 제대로 배울수는 있으니까..
총평
이번일을 계기로 표준 설정 xml파일을 잘 만들고 주석달아서 구글드라이브에 신중히 보관했다. 담에는 전자정부프레임으로 프로젝트 만들면 이xml설정 붙여서 제대로된 개발환경을 쉽게 만들수 있다. 고생했지만 보람있다. 끝.
'IT지식' 카테고리의 다른 글
nodejs 대충 훑어본 후기 (0) | 2023.12.28 |
---|---|
너무 잘 따라해도 문제 (0) | 2023.11.28 |
스프링 전자정부프레임워크 우분투 개발환경 (1) | 2023.11.09 |
전자정부프레임워크 개발환경 정리 (0) | 2023.11.07 |
서블릿 강의 완강 후기 (1) | 2023.10.22 |