728x90

전체 글 210

[ Java ] java.lang.NumberFormatException: For input string: ""

장바구니 페이지 기능에 수정/삭제 기능을 추가하려고 카트 값을 Controller에 요청을 보낼 때 같이 보냈는데.. java.lang.NumberFormatException: For input string: "" 에러가 발생했다. NumberFormatException 에러는 개발 중 종종 발생하는 오류중 하나입니다. 단어를 풀어서 이야기하면 숫자 형식 오류라는 의미가 됩니다. 이런 경우는 Integer 타입으로 받으려고 할 때 주로 에러가 발생하는데, 저는 거의 view단 페이지에서 null값으로 보내줘서 주로 발생했습니다. 그로 인해 코드 작업할 때마다 log 찍어보는 게 버릇이 생겼는데, 오늘은 NumberFormatException 에서 For input string: "" 에 대해서 알아보겠습..

[ Error ]/JAVA 2023.04.29

[ TomCat ] javax.servlet.jsp.JspTagException

상품 상세 페이지 구현하던 중 javax.servlet.jsp.JspTagException 에러가 발생했다. 상세 정보로는 Don't know how to iterate over supplied "items" in 라고 알려주는데, 일반적으로는 LIst 타입이 아닌데 JSTL에서 forEach를 사용해서 발생하는 오류이다. 읽어봐도 forEach 내의 item을 어떻게 iterate를 할 수 있는지 알 수 없다고 쓰여 있으니까 말이다. 간단하게 이 문제면 해결하기 쉽습니다. 예를 들면 다음과 같은 경우 소스를 보면 forEach 내에 when을 사용하여 목록 전체를 구하는 것이 소스 코드의 의도이다. 근데 이렇게 소스를 작성하면 방금과 같은 오류가 발생합니다. 그 이유는 item을 dt..

[ Error ]/TomCat 2023.04.28

[ Spring ] 도로명주소 API 연동

도로명주소 (DAUM API) 오늘은 게시판 기능 추가 하기 전, 회원 가입에 필요한 우편번호, 주소 검색을 API를 활용하여 검색된 주소가 회원 가입 페이지의 주소 필드에 입력되는 방법을 포스팅 해보려 합니다. 우선 daum api 주소인 http://postcode.map.daum.net/guide Daum 우편번호 서비스 우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다. postcode.map.daum.net 들어가시면 자세하게 다음에서 사용 방법까지 친절하게 설명해주고 있습니다. 사용하고자 하는 코드를 정해서 변수명만 수정해서 사용하시면 됩니다. 예제 코드로 member 테이..

[ Spring ] 게시판 02 - 회원 목록 페이지 나누기 기능 구현

프로젝트 구조 오늘은 이전 포스팅에서 생성했던 유저 목록 페이지에 페이지 나누기 기능을 추가해 보겠습니다. 페이지를 나누려면 별도로 페이지네이션 기능 공식 파일을 생성해서 변수로 추출해서 사용해야 하는데, 이전에 JSP 포스팅했을 때 사용했던 Pager.java 파일을 사용해서 기능 구현을 해보겠습니다. Pager.java Pager 파일은 페이지 나누는 공식과 변수를 담은 파일입니다. 각 변수의 역할은 주석으로 작성했습니다. package com.example.spring.service.board; public class Pager { public static final int PAGE_SCALE=10;//페이지당 게시물수(10개) public static final int BLOCK_SCALE=10;..

[ TomCat ] org.apache.jasper.jasperexception

메인 페이지에 상품 변수 값을 넣어주고 실행시켜 본 결과 org.apache.jasper.jasperexception 라는 에러가 발생했다. jsp로 웹 페이지를 만들다 보면 이 에러를 한 번씩은 만날 수 있다고 합니다. 상품 목록을 문으로 데이터를 웹에 띄우려고 했다가 에러 내용을 확인해 보니, 태그를 찾을 수 없다고 알려주네요. 코드 파일 경로를 전부 확인하면서 벨류 값을 수정해 보고 오타를 찾아봐도 오류 코드를 못 찾았는데. 해당 view 단 파일 태그를 보면서 코드가 잘못 구현되고 있다는 걸 확인했습니다..^^ 메인 페이지에서는 상품의 전체 목록을 가져오려고 하는데, 즉, 자바의 switch문을 조건 처리를 안 하고 사용하고 있었네요..ㅎ 메인 페이지에서는 조건을 별도로 처리할 게 없어서 해당 태..

[ Error ]/TomCat 2023.04.25

[ Spring ] 게시판 01 - 목록/글쓰기 구현

프로젝트 구조 오늘은 Spring을 사용해서 게시판 목록/글쓰기 기능 구현을 해보겠습니다. 파일 구조는 위 사진과 같고, 다음은 테이블을 생성합니다. SQL Table 생성 Board 테이블을 생성해서 연습용 데이터를 추가합니다. --게시판 테이블 create table board ( bno number not null, --게시물번호 title varchar2(200) not null, --제목 content clob, --본문 writer varchar2(50) not null, --작성자 regdate date default sysdate, --작성일자 viewcnt number default 0, --조회수 primary key(bno) ); insert into board (bno,title,c..

[ Java ] javax.el.PropertyNotFoundException

공지사항 페이지 구현하는 과정에서 javax.el.PropertyNotFoundException 에러가 발생했다... 위 에러는 EL 구문을 사용하는 과정에서 ${dto.name} name에 해당하는 프로퍼티를 찾지 못한 경우에 발생하는 에러입니다. EL 구문을 사용하기 위해서는 DTO를 자바빈즈 규약에 맞게 만들어야 하는데, 해당 DTO의 멤버 변수 name 값을 찾지 못해서 발생하기 때문에 경로를 찾아가서 코드를 확인해야 하는데, 이 에러는 크게 두 가지 실수로 나오는 에러라고 생각합니다. 1. 문 사용해서 멤버 변수를 가져올 때 변수 스펠링 (대문자/소문자) 확인 2. DTO에 해당 변수의 유/무 체크 저는 해당 멤버 변수를 생성하지 않고 요청을 보냈기 때문에 에러가 발생했습니다..^^ 프로젝트 기..

[ Error ]/JAVA 2023.04.23

[ SQL ] java.sql.SQLSyntaxErrorException

유저 페이지 기능을 하나씩 추가하면서 회원가입 기능을 점검하던 중... SQLSyntaxErrorException 예외가 발생했다. 에러 내용을 확인해 보면 too many values 라고 나오는데 컬럼 수보다 값을 더 추가해서 넣어서 예외가 발생했다고 합니다. 경로를 찾아가서 코드를 확인한 결과 SQL문이 잘못된 걸 확인할 수 있었다. 맨 처음 회원가입 코드를 구현하던 중, 회원 가입일, 수정일을 SQL에서 Defalut sysdate로 지정했는데... 코드에는 벨류 값으로 들어오지 않는데, insert를 시킨 것이다.. 다행히 sysdate 두 개를 삭제하고 다시 실행해보니 에러가 사라졌다. SQLSyntaxErrorException 예외에는 too many values 에러 말고도 ORA-0094..

[ Error ]/SQL 2023.04.21

[ Spring ] Ajax 파일업로드

FormData 객체 파일 업로드 Ajax 방식의 핵심은 FormData라는 브라우저에서 지원하는 클래스입니다. FormData는 과 같은 효과를 가져다주는 key/value 가 저장되는 객체이며, 태그처럼 데이터를 처리할 수 있게 해 줍니다. 이를 XMLHttpRequest(XHR)라는 Ajax 요청을 생성하는 JavaScript API에 실어서 서버에 보내면 마치 이 전송된 것과 같은 효과를 가집니다. UUID(Universally Unique IDentifier) UUID는 네트워크 상에서 고유성을 보장하는 ID를 만들기 위한 표준 규약입니다. UUID는 다음과 같이 32개의 16진수로 구성되며 5개의 그룹으로 표시되고 각 그룹은 붙임표(-)로 구분합니다. 8(비트)-4(비트)-4(비트)-4(비트)..

[ TomCat ] Not allowed to load local resource 에러 해결

오늘부터 Error 해결 포스팅을 시작해 보겠습니다. 쇼핑몰 토이 프로젝트를 하던 중 상품 이미지를 웹에 구현하는데... 위 사진처럼 이미지 엑박이 나오면서 개발자 모드에서 Not allowed to load local resource 라는 에러가 나왔다. 찾아보니 WAS 이외의 경로의 파일을 절대 경로로 읽으려고 할 때 나타나는 오류라고 합니다. 저는 곰곰이 생각해 보다가 코드를 보니까 경로가 이상하다는 걸 확인했습니다. 위 사진처럼 절대 경로로 파일을 읽으려고 하다 보니 오류가 발생했는데, 이럴 땐 파일을 읽기 위해서 Tomcat의 server.xml 파일을 수정해야 합니다. server.xml 파일을 열어보면 태그가 있습니다. 태그 안에 파일 경로와 Context Path 값을 지정해 주고 Rest..

[ Error ]/TomCat 2023.04.19
728x90