-
Spring + MyBatis + DB = 작은 웹사이트 - (9) CRUD개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 28. 21:01
전체 글 목록을 읽어오는 기능과 페이징 처리 기능을 넣었으니 새로 글쓰기, 상세 데이터 조회, 글 수정, 글 삭제 기능을 구현해서 CRUD 풀셋을 완성할 차례다. 처음 밝혔듯이 원래는 상세 조회, 수정, 삭제, 입력을 모두 하나의 jsp 에서 처리할 수 있게 구현하려고 했으나...구체적인 설계 계획없이 일단 만들기 시작하다가 꼬이면서 수정, 입력을 각각의 별도 화면에서 처리하는 것으로 바꿨다. 1. 글 신규 작성 + CKEditor 삽입 목록 조회 화면에서 글 쓰기 버튼을 클릭하면 loaction.href 를 이용하여 글 작성 화면으로 이동한다 $("#toWrite").click(function(){location.href="/home/note/writeNoteView"; }); //게시물 작성 화면@R..
-
Spring + MyBatis + DB = 작은 웹사이트 - (8) 페이징 처리 로직개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 26. 14:15
처음부터 페이징 처리 로직을 혼자서 짜본 적이 없어서 삽질을 좀 많이 했다.다른 분들 소스도 많이 찾아봤는데 나는 페이징 처리에 필요한 계산은 다 객체 안에 숨겨서 끝내버리고 싶고객체 계산결과에 따른 화면 처리 역시 js에서 함수로 빼서 처리하다보니 이런 결과물이 나왔다.기본 로직은 다른 분들이 공개해두신 소스와 별 차이가 없을 것....이라고 추정...한다... 실제로 사용한 페이징 객체는 아래와 같다. package common.vo; public class PagingVO {private static final int NOTE_PER_PAGE = 10;//페이지 당 게시물 수private static final int BLOCK_PER_PAGE = 5;//화면 당 페이지 블록 수private int..
-
[MariaDB] MariaDB 에서 ROW NUMBER() 사용하기개발/Database 2018. 1. 23. 15:23
페이징 기능에 꼭 필요한 기능은 아마도 쿼리 실행 결과 출력된 각 행마다 순번을 매겨주는 ROWNUM 일 것이다. 오라클과 티베로에서는 몇 번 ROWNUM 을 써서 쿼리를 짜본 적이 있으나Maria DB에서도 똑같이 선언하면 당연히 안 될 것 같아서 구글 검색 시작 일단 공식 문서 => https://mariadb.com/kb/en/library/row_number/MariaDB에서는 ROW_NUMBER()를 써서 구현해주면 될 것 같다. Syntax는 아래와 같다고 한다.ROW_NUMBER() OVER ( [ PARTITION BY partition_expression ] [ ORDER BY order_list ] ) 오잉?? 제법 다른 DB에서 쓰던 것과 비슷한 모양새가 나온다.Workbench에서 ..
-
스크립트 선언 방법에 따른 차이개발/Javascript & jQuery 2018. 1. 22. 12:09
화면을 만들 때마다 쓰게 되는 자바스크립트 선언아무 생각 없이 써오다가 jQuery를 찾을 수 없다는 부트스트랩 오류 메시지를 보면서 갑자기 의문이 들었다. 스크립트를 선언할 때 아래 세 가지 방법의 차이점도 모르고 막 쓰고 있었는데 과연 차이가 있는 것일까? 현재 표준은 라고 한다. 스크립트 선언은 브라우저의 기본 설정에 맞춰 가는데,HTML5 부터는 대부분의 브라우저 기본값이 js로 파싱하게 되어 있기 때문에 라고 선언해도 아무 문제 없이 동작하고 있었던 것이다. 하위 브라우저와의 호환성까지 고려하면 로 써주는게 가장 정확할 것 같다. 더불어 스타일 태그 역시 로 써주는 것이 가장 정확하나HTML5부터 디폴트로 만 적어도 무리 없이 동작하게 되었다고 한다...
-
소소한 부트스트랩 문제개발/문제 해결 2018. 1. 22. 11:41
디버깅하려고 들어갈 때마다 Uncaught Error : Bootstrap's JavaScript requires jQuery 라는 부트스트랩 에러 메세지가 나왔다. 부트스트랩 기능은 다 멀쩡히 돌아가는 상태여서 일단 놔두고 계속 코딩을 진행했는데 볼수록 거슬림.... 문제의 원인은 정말 별게 아니고jsp 에서 부트스트랩을 선언하는 위치가 jQuery를 선언하는 위치보다 앞서있기 때문에 발생하는 오류다. 즉, 아래와 같이 jquery를 먼저 불러온 후에 부트스트랩을 불러오면 해결
-
이클립스 콘솔창에 쿼리 출력하기개발/문제 해결 2018. 1. 19. 18:13
DB에 셀렉트 쿼리를 날렸는데 파라미터가 안 들어간다면서 오류가 났다.대체 파라미터가 어떻게 들어갔길래 그런건가 싶어서 콘솔창을 확인해봤는데??? 쿼리가 하나도 안 찍혀있다. 맨날 똑똑한 분들이 구축해둔 개발환경에서 손가락만 놀리다보니실행한 쿼리를 이클립스 콘솔창에 출력하려면 별도의 설정이 필요하다는 것도 모르고 살았던 것이다.... 부끄러움을 느끼며 급하게 검색해보니 너무 잘 정리해주신 분이 계셨다.http://addio3305.tistory.com/66 pom.xml, log4j.xml 은 링크대로 수정했다.나는 DB 연결을 root-context.xml 에서 진행했기 때문에 root-context.xml에 설정을 추가했다. 핵심은 log4j.xml에 추가한 jdbc.sqlonly 로거가 쿼리를,jd..
-
Spring + MyBatis + DB = 작은 웹사이트 - (7) 본격 게시판 만들기 서막개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 17. 22:48
오잉 별것도 안했는데 벌써 7번째 포스팅이라니 이게 무슨 일이오아무튼 이번에는 드디어ㅠㅠ 게시판을 붙여보는 시간이다. 되도록이면 한방에 포스팅을 정리하고 싶어서 페이징 처리까지 끝낸 뒤에 글을 쓰려다보니 조금 시간이 걸렸다.참 신기하게도 분명 내가 예전에 써서 잘 돌아갔던 기능들인데 다시 이 프로젝트를 진행하면서 재활용하려니까 안 먹는 것들이 있다.물론 내가 능력이 부족해서 개발환경 세팅이라던가 뭐 그런데서 실수했겠지 ㅠㅠ 하면서도 짜증나는 이 기분덕분에 실무에서는 하루만에 개발 완료할 것을 엄청나게 질질 끌면서 개발했다 흑흑 1. 게시판용 테이블 생성 먼저 DB가 있어야 게시물을 읽고 쓸테니 DB 생성부터 CREATE TABLE `myhome`.`note` ( `sn` VARCHAR(45) NOT NU..
-
Spring + MyBatis + DB = 작은 웹사이트 - (6) JSTL 활용 & 로그아웃 기능 구현개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 17. 22:19
JSTL을 활용하여 로그인 여부에 따라 로그인 / 로그아웃 버튼이 보이게 만들고또한 로그아웃 버튼을 누르면 로그아웃 처리하는 기능을 추가하는 시간이다. 엄청 간단하다. 1. JSTL로 버튼 구현 컨트롤 앞서 로그인 기능을 구현할 때 로그인에 성공하면 session 에 setAttribute를 써서 객체를 추가했다.객체명은 "admin" 이고, 스트링 타입으로 DB에 저장되어있던 관리자의 이름이 들어갔다. 따라서 이 admin 값이 있을 때 / 없을 때로 구분하여 로그인 버튼이 보이도록 소스를 다시 바꿨다. 아래 접기 태그 안을 보면 안에 과 로 조건을 걸어admin 객체가 세션에 있다면 로그아웃 버튼을, 아니면 로그인 버튼이 출력된다. × HOME ABOUT MAKINGS GUESTS ☰ MENUWelc..