java
-
[Java] BufferedWriter / OutputStreamWriter / FileOutputStream 으로 파일 만들기Java 2021. 4. 16. 18:00
시작하면서 회사에서 업무를 하면서 기존 데이터를 엑셀(CSV) 형식으로 백업하는 기능을 개발하게 됐다. BufferedWriter을 써서 파일을 만들고 내부 내용을 입력했는데, 이 과정을 기록하고 각 클래스(BufferedWriter / OutputStreamWriter / FileOutputStream)에 대해 더 알아봤다. BufferedWriter - OutputStreamWriter - FileStreamWriter BufferedWriter보다 익숙한 게 있다. 바로 BufferedReader! 처음 자바를 배울 때, Scanner을 사용하지 않고 BufferedReader을 통해 입력을 했던 기억이 있다. Scanner의 경우 문자열을 입력할 시 자동으로 개행 처리를 해주지만 BufferedR..
-
[Spring 게시판](4) 게시글 목록 구현Practice 2020. 12. 4. 01:32
기본적인 설정은 끝났으니, 게시글 목록을 구현하고자 한다. 일종의 메인 페이지 기능으로 현재 서버에 올라와있는 게시글들을 전체보기 할 수 있는 기능이다. CRUD 중 R(Read : 조회) 기능이라고 할 수 있다. 1. VO 만들기 데이터베이스에서 가져온 데이터를 담기 위한 객체인 VO(Value Obeject)를 만든다. src/main/java 경로에 새로운 패키지 com.board.domain 패키지를 생성한다. com.board.domain 패키지 안에는 BoardVO 자바 파일을 생성한다. 주석처리한 부분은 테이블 생성 SQL 구문이다. 컬럼 명을 기억하기 쉽기 위해 주석으로 가지고 왔다. 이제 자료를 담을 변수와 getter / setter 메소드를 생성해준다. regDate 같은 경우 Dat..
-
[Spring 게시판] (1) Spring 환경 설정 및 Tomcat연동 / github 연동Practice 2020. 11. 30. 23:58
Spring으로 개인 프로젝트를 하기로 했다. 그런데 아무래도 오랜만에 프로젝트를 하려니, 손에 익지 않아서 기본적인 게시판을 만들어보고 쇼핑몰을 진행하기로 했다. 예전에 학원에서 배울 때는 게시판의 페이징 처리가 어려웠는데, 이번에는 혼자서 진행하며 페이징 처리에 대한 이해를 높이려고 한다. 1. Spring 개발 환경 세팅 Spring 3을 이용해 게시판을 구축하려고 한다. IDE는 이클립스를 사용하는데, 구글링을 하다보니 많은 사람들이 Spring 에서 제공하는 STS를 쓰는 것을 알게되었다. STS는 이클립스 플러그인 확장을 통해 설치할 수 있고 Maven이 자동 내장되어 있어 Maven을 설치할 필요가 없다는 게 장점이다. 자주 사용하는 Spring 패턴들 템플릿 형태로 제공해 빠른 개발이 가능..
-
[Java/Spring] org.apache.ibatis.binding.BindingException: 에러Error 2020. 8. 25. 16:09
에러메세지 org.apache.ibatis.binding.BindingException: Parameter 'issueCode' not found. Available parameters are [arg1, arg0, param1, param2] 자주 보는 에러. ajax 구문의 파라미터(data)인 'issueCode'가 제대로 넣어지지 않았다는 뜻이다. 이전에 있던 issueCode가 Submit 되지 않았다. ① submit 할 때 값을 제대로 넘기기 html에서 hidden으로 form에 담아 넘기는 방법을 선택. 이 방법을 선택하면 form에 담아 전송할 수 있어 편리하긴 하지만 보안상의 문제가 발생한다. html 형식이기 때문에 사용자가 쉽게 열람할 수 있기 때문. 이 때문에 제이쿼리의 $.po..
-
[Java/Spring] org.apache.ibatis.reflection.ReflectionException: There is no setter for property named 에러Error 2020. 8. 18. 15:36
BiscuitBall 프로젝트 비밀번호 재설정 기능을 구현하던 중 만난 에러. 구글링 해 봤더니, 보통 이 에러는 myBatis XML에서 #{변수} 안의 '변수'와 DTO의 변수명이 일치하지 않아 생기는 문제라고 한다. 오타나 대소문자 문제가 대부분이라고 한다. 그런데 내 경우는 오타, 대소문자 오류가 아니어서 발견하는데 오래 걸렸다. ※ 기능 설계에 대한 부연 설명 사용자가 이메일을 입력하면 해당 이메일로 코드가 발급되고, 이를 인증하면 비밀번호 재설정을 할 수 있도록 구현하고자 했다. 일단 DB상의 프로시저를 이용해, 특정 테이블에 임시코드를 저장하는 방식이다. 사용자가 이메일을 입력한 후 코드 발급을 클릭하면 에이젝스ajax 처리로 DB상의 유저 코드를 불러오고 유저 코드를 프로시저의 파라미터로 ..