본문 바로가기

분류 전체보기

(224)
STS (Spring Boot) - 폴더 안의 jsp 파일 디자인 적용 안됨 해결 사이트 매쉬를 설정하고 폴더를 나눈 뒤 사용할 페이지를 정리하였는데 폴더를 사용하지 않은 views 하위의 index나 errorPage는 디자인 설정이 반영되지만 폴더를 사용하였을 때에는 전혀 반영되지 않았다. 사이트매쉬 필터 문제도 아니었다. 한참을 삽질하다가 이유를 알아냈다. url에서 절대경로가 아닌 상대 경로를 썼기 때문이다. 나는 부트스트랩의 모든 디자인 파일들을 frontLayer라는 폴더 안에 넣어놨고 그래서 사용할 페이지들의 경로를 frontLayer/.. 처럼 수정해주는 작업을 했었다. 그런데 앞에 /를 붙이지 않아 상대경로로 접근하여 즉, 현재 페이지나 파일을 기준으로 해당경로로 이동하였기 때문에 디자인 파일 적용이 되지 않았던 것이다. 절대 경로를 사용해야 웹어플리케이션의 루트 디렉..
STS (Spring Boot) 게시판 CRUD_3. Bootstrap 적용과 SiteMesh 설정 - 수정 예전에 진행하려다 여러가지 사정으로(?) 미루고 미뤘던 프로젝트를 다시 시작하려고 하는데 부트스트랩 테마가 영 마음에 들지 않았다. 그래서 새로운 부트스트랩을 다운받았고 이를 적용하였다. Free Bootstrap Themes, Templates, Snippets, and Guides - Start Bootstrap Start Bootstrap startbootstrap.com 지난번과 같은 사이트에서 다운받았다. webapp밑에 frontLayer라는 폴더를 하나 생성한 뒤 다운 받은 부트스트랩 파일들을 그대로 넣어주었다. html은 안넣어도 되지만 필요한 페이지들을 바로바로 보면서 하려고 그냥 넣어놨다. 후에 제거할 예정이다. 그리고 sitemesh를 사용하기 위해 몇가지 설정을 하였다. 1. sit..
connection refused: no further information java 해결 스프링부트를 실행하는데 계속 위와 같은 에러가 뜨면서 실행이 되지 않았다. 찾아보니 데이터베이스 연결이 잘 안되고 있다면 뜨는 에러라는데 포스트맨으로 회원가입을 했을 때는 잘 되는데 로그인이 안되고 있었다. 몇번을 실행하다가 새롭게 찾은 에러문구 org.springframework.data.redis.RedisConnectionFailureException redis 커넥션 실패..? 생각도 못한 redis 문제였다. 프로젝트를 다시 클론받고 데이터베이스 다시 연결해보고 이것저것 다해봤는데 어쩐지 같은 프로젝트 팀원도 나랑 똑같은 에러를 겪고 있더라 결국 Redis를 설치한 후 실행시키고 나서 다시 프로젝트를 돌렸더니 정상적으로 실행되었다. 아직도 궁금한 점은 회원가입은 어떻게 된 걸까? 연결이 안되었다..
[서울 웹3.0 페스티벌 2023 ] 2박 3일 첫 해커톤 후기 예전부터 해커톤에 한 번 참가해보고 싶었는데 우연한 기회로 참가할 수 있게 되었다. 내가 생각했던 건 대학생들이 참가하는 정도의 해커톤이었는데.. 일을 저질러 놓고 보니 너무나도 큰 규모의 해커톤이었다. 주제 자체도 웹3이다 보니 기술을 적용하는 것도 쉽지 않았다. 나는 이미 결성된 팀에 맨 마지막으로 참가하였는데 NFT 티켓과 관련한 주제였다. 그런데 팀원 중 아무도 NFT에 대해 제대로 이해하고 있는 사람이 없었고 백엔드는 나 혼자 뿐이어서 사전 조사하며 공부하는 과정이 너무 힘들었다. NFT를 직접 구현할 수 없는 상황이어서 헥슬란트의 옥텟 테스트넷을 이용하였다. 해커톤 참가 일주일 전부터 테스트넷으로 여러 테스트를 해보고 어떤 식으로 지갑을 발행하고 정보를 가져오고 또 NFT를 발행하는 로직은 무..
[네이버 클라우드] 3. Springboot 프로젝트 JAR 배포 스프링부트 프로젝트를 서버에 배포하기 위해서는 우선 빌드를 해야한다. 스프링부트 프로젝트를 생성할 때 내장 톰캣을 사용하기 위해 jar로 패키징 설정을 해놓았기 때문에 바로 빌드를 해주었다. 1. springboot 빌드 프로젝트 우클릭 -> [Run As] -> [Maven Build] build 목적을 입력하고 진행하였다. 프로젝트를 빌드하면 target 폴더에 jar 파일이 생성된다. 2. 서버에 java 17 설치 서버 생성 시 우분투 18.04를 선택했는데 여기에는 java11이 내장되어 있다고 한다. 나는 java 17을 사용하여 작업했기 때문에 이를 서버에 설치해 주었다. sudo apt-get update sudo apt-get upgrade sudo apt-get install openj..
[네이버 클라우드] 2. Mysql 설치 후 HeidiSQL연결 1. 공인 ip 발급 외부 클라이언트 프로그램에서 서버에 접근하기 위해서는 public IP가 필요하기 때문에 발급받았다. [Server] -> [Public IP] -> [공인 ip 신청]으로 발급받으면 된다. 이전 포스팅에도 언급했듯이 3개월 동안 크레딧 사용이 가능하기 때문에 그 기간동안만 해보려고 한다. 구글링 해보니 월에 4-5000원 정도 하는 것 같아 생각보다 비싸지도 않다. 2. ACG 설정 포트포워딩과 공인 ip 설정이 끝나면 ACG 설정을 해주어야한다. Access Control-Group 말 그대로 접근을 허용할 ip와 port를 등록하는 것이다. 나는 mysql을 사용할 3306 포트와 이후 스프링부트를 실행할 8080포트를 등록해주었고 접근 소스는 전체로 하기 위해 0.0.0.0으..
[네이버 클라우드] 1. 서버 구축 해커톤을 준비하면서 네이버 클라우드 서비스를 이용해보기로 하였다. 1년간 무료로 micro 서버를 사용할 수 있고 가입하면 10만 크레딧을 주고 있어서 공부하는 기간 동안 경험해보면 좋을 것 같았다. 서버를 구축하고 springboot와 mysql을 배포하는 과정까지 정리해보려고 한다. 1. 로그인 후 console 클릭 우선 네이버 클라우드에 가서 가입하고 콘솔에 들어오면 다음과 같이 안내 메세지가 뜬다. 2. 좌측 Platform을 Classic으로 바꾼 뒤 Services -> Free Tier -> Server를 클릭한다. 3. 하단의 [서버 생성] 버튼을 클릭한다. 4. 사용할 서버 스펙을 결정한다. SSD는 요금이 부과되기 때문에 HDD로 선택한 후 중요한 점은 반드시 서버 타입을 Micro로..
스프링 부트 바로 종료 <terminated> 해결 이전에 진행하던 프로젝트를 새로운 부트스트랩을 입혀 전반적으로 수정하기 위해 실행하였는데 실행이 계속 되지 않고 종료되었다. 어떤 에러코드도 없이 run하자마자 바로 terminated가 단호박으로 떴다. 구글링해도 잘 안나와서 하루종일 삽질하다가 이유를 알아냈다. 처음에는 톰캣문제인건가 혹시 버전 문제인건가 싶어서 톰켓을 다운그레이드도 시켜보고 jdk와 스프링부트와의 버전도 확인해봤다. 결국 프로젝트를 export 한 뒤 다시 import했더니 문제점을 알 수 있었다... 메인 어플리케이션이 다른 클래스 파일을 통해 실행이 되고 있었다. 어쩐지 뜬금없는 클래스 파일을 호출하길래..이게 무슨일인가 했다!! ㅠㅠㅠㅠ 너무 어이없는 에러라 황당했지만.. 다시 잘 돌아가서 다행이었다.

728x90