목록전체 글 (480)
코딩항해기

GET http://localhost:8088/bungeobbang/%22/bungeobbang/uploads/board/2024-11-03+a508587d-3f50-4227-ae8b-485f33c31f57/2024-11-03+5ed616c0-a585-4d7f-916f-02c3af982a9f.png%22404 (Not Found) 404 에러가 발생했다. 원인은 "" 때문에 제대로 url을 인지하지 못하기 때문이었다. %22 (== " 를 의미한다.)즉 현재 url이 http://localhost:8088/bungeobbang/"/bungeobbang/uploads/board/2024-11-03+a508587d-3f50-4227-ae8b-485f33c31f57/2024-11-03+5ed616c0-a585..

ajax를 할 때 EL식을 작성해 오류가 발생한 경우가 빈번하게 발생해 관련 내용을 확실하게 정리해 놓기 위해 기록한다. 요약 JSTL과 EL은 서버에서 먼저 처리되어 순수 HTML로 변환된다.이후 HTML, CSS, JS는 브라우저에서 순차적으로 처리된다.(JS는 실행 시점을 async/defer로 제어 가능) 실행은 서버 사이드 -> 클라이언트 사이드 순으로 실행된다. 서버 사이드백단 작업을 의미하며 서버(제공자)측에서 즉시 처리하는 것으로 서버 사이드는 클라이언트로 보낼 웹페이지를 만들며 중요한 작업을 수행한다. JSTL, EL이 여기에 속한다. JSTL (JavaServer Pages Standard Tag Library) JSP 페이지가 서블릿으로 변환될 때 실행되어 , 등의 태그 처리한다. ..

팀 프로젝트를 진행하며 view 관련 에러 중 반복되는 에러를 기록해 대응 시간을 줄이고자 정리했다. Uncaught ReferenceError: $ is not defined / $ is not a functionJquery CDN이 누락되어 Jquery 명령어를 인식할 수 없다는 에러문구이다. Jquery CDN을 추가하면 해결된다. Uncaught ReferenceError: Swal is not defined스위트 알랏을 사용하는데 스위트 알랏에 대한 CDN이 누락되어 해당 명령어를 찾을 수 없다는 문구이다. Uncaught TypeError : Cannot read properties of null (reading 'value')null에서 속성 값을 불러오지 못한다는 것으로 해당 태그를 ..

2024-11-02 01:07:31.421 [http-nio-8088-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'ds'2024-11-02 01:07:31.477 [http-nio-8088-exec-1] ERROR o.s.web.servlet.DispatcherServlet - Context initialization failedorg.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/ds-servlet.xml] at..

필요성MVC 파트를 나눠 횡단으로 작업을 진행한 후 종단 작업을 통해 기능을 연결하고 오류를 해결하게 되는데, 각각의 로그 스타일이 다르고 JDBCTemplate를 사용하게 되며 로그를 남길 수 있는 부분도 많이 줄어들게 되었다. 이로 인해 종단 작업 시 코드를 하나하나 살펴봐야하는 문제, 또는 새롭게 로그를 남겨야하는 문제가 발생하게 되어 자동 로그에 대해 필요성이 생기게 되었다. 계획Service 시작과 종료 로그요청(사용자 요청) 시작과 종료 로그JDBC 실행 쿼리문, 들어가는 값에 대한 로그3가지에 대한 자동로그를 만들기로 결정했다. 먼저 Service은 핵심기능이므로, 매번 반복되어 로그를 찍는 것은 횡단 기능이다. 즉, AOP를 사용할 수 있다.사용자의 요청이 들어올 때 가장 먼저, 가장 마지..

팀프로젝트에서 MVC를 연결하기 위해 회원 정보 업데이트 기능을 테스트 해보려고 하니 작동이 되지 않으며 예외가 발생했다. 해당 기능은 담당하지 않은 파트라 아직 코드를 전혀 모르기 때문에 브라우저와 콘솔만 확인하고 파악했을 때는 View와 Controller의 복합적인 문제로 보인다. 1. view에서 데이터를 정확한 명칭으로 전달하지 못해 발생하는 null2. 에러 발생 시 없는 error 페이지로 이동하도록 설계된 Controller 로직 미스.. View데이터를 전달하지 못하는 문제를 해결하기 위해 View를 확인했다.데이터 명 관련해서는 두 가지 문제가 있었고, 해당 문제를 해결했다. 1-1. 입력창에 name 속성이 지정되어있지 않은 문제1-2. name 속성이 정해진 데이터명과 일치하지 않..

페이지가 로드되지 않는데에는 다양한 이유와 원인이 있지만 EL식이 원인이 되는 경우가 있다. EL식이 범인인지 확인하기매우 간단하게 확인할 수 있다. EL식이 들어간 부분을 전부 주석처리했을 때 페이지 요소가 로드 된다면 EL식이 범인이다. 잘못된 데이터 호출controller에서 data라는 이름으로 데이터를 줄 때 EL식으로 datas를 호출하는 것은 페이지 로딩 자체에는 영향을 주지 않는 것으로 보이나 (단순 데이터 없음) data라는 데이터가 DTO일 때 data에서 추출하는 필드명이 틀리는 것은 페이지 로딩에 에러를 주어 페이지 로딩을 막을 수 있다. 만약 controller와 통합하기 위해 EL식의 데이터명을 수정했는데 페이지가 갑자기 로딩되지 않는 문제가 발생한다면 EL식에서 없는 필드 값을..

종단으로 가게 검색 기능이 정상작동할 수 있게 연결하던 중 특정 검색어 검색 시 페이지가 로드되지 않으며 브라우저 콘솔에 인코딩 에러만 뜨는 문제가 발생했다.Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING 콘솔창을 확인했을 때 데이터가 정상적으로 전달되고 있어 문제를 파악하기 어려웠다. 에러 발생 원인 특정먼저 문제를 파악하기 위해 여러 검색을 시도하며 문제가 되는 상황을 정확하게 특정하고자 했다.인코딩 에러가 발생하기 때문에 데이터를 의심했고, 데이터 자체가 인코딩이 불가능하거나 양이 많아 에러가 발생하는 경우일 가능성을 두고 검색을 시도했다. 1. 데이터가 2개 있는 '달' 검색 => 정상 검색2. 데이터가 1개 있는 '행복' 검색 =>..

HikariCPHikariCP는 오버헤드 제로의 프로덕션 지원 JDBC 연결 풀(커넥션 풀 관리 프레임워크)이다. 데이터 베이스 연결(Connection)을 관리해주는 라이브러리로 커넥션 풀에 설정된 커넥션 사이즈만큼 연결을 허용해 요청에 대해 순차적으로 DB 커넥션을 처리해준다. HikariCP는 DBCP(Database Connection Pool)를 관리하며, 여러 라이브러리가 있지만 가볍고 빠르게 처리할 수 있다는 장점을 가지고 있어 Spring Boot 2.0 이후 부터는 기본 옵션으로 채택하고 있다.(Spring Boot 2.0 이전에는 tomcat-jdbc를 사용했다.) JDBC (Java Database Connectivity)데이터 베이스에 접속할 수 있도록 하는 JAVA API로 자료..

해당 에러는 Mapper에서 없는 컬럼을 호출할 때 발생한다. 콘솔 내용을 볼 때 STORE 오타로 인해 발생한 것임을 알 수 있다. 정확히는 SQL syntax 규칙을 위반했다는 예외로 대부분의 원인은 오탈자로 인해 발생한다고 한다. SQL 관련 Exception 시리즈예외설명발생 예시SQLSyntaxErrorExceptionSQL 문법 오류- 테이블명 오타- WHERE 절 구문 오류- 예약어 사용 실수SQLNonTransientException일시적이지 않은 오류(코드 수정 필요)- 테이블/컬럼 없음- 권한 없음SQLTransientException일시적인 오류(재시도 가능)- 데드락- 타임아웃- 일시적 연결 끊김SQLInvalidAuthorizationException인증 관련 오류- 잘못된 비밀번..