※ 페이징 처리를 위해서 필요한 정보 • 현제 페이지 번호(page) • 이전과 다음으로 이동 가능한 링크의 표시여부(prev, next) • 화면에서 보여지는 페이지의 시작 번호와 끝번호(startPage, endPage) • 제일 끝번호(realEnd) 끝번호 (endPage) 현재 페이지의 번호를 알아야 하는 이유는 페이지의 시작 번호와 끝번호를 알아야 하기 때문입니다. 페이지가 5개씩 나눠 떨어진다고 할때 3페이지를 보고 있을 때의 화면의 보여지는 시작페이지와 끝페이지는 1, 5일 것이고 7페이지를 보고 있을 때의 화면의 보여지는 시작과 끝페이지는 6, 10일 것입니다. 이는 끝페이지만 구할수 있으면 첫페이지는 구하기 쉽기 때문에 끝페이지부터 구한다면 아래와 같은 공식으로 구할 수 있습니다. th..
이용자의 입장에서 바라봤을 때 내가 필요한 게시글이 페이지 번호2번과 3번사이에 있으면 그 쯤에서 찾으면 되는데 하염없이 쭉 늘어져 있으면 내가 필요한 글의 제목 작성자 내용등을 일일히 알고 있어야 하거나 게시글 하나하나 들어가보며 찾아야 합니다. 이용자의 입장에선 굉장히 불편하기도 하고 사용하기 싫어질수 있습니다. 또한 수많은 데이터를 한 페이지에서 보여주면, 처리 성능 면에서도 영향을 미칠 것입니다. 그렇기에 백앤드 웹개발에서 페이징은 필수 인것 같아 페이징을 공부하면서 정리할겸 기록을 남기기로 했습니다. 아래의 SQL쿼리문은 페이지당 10개의 게시물을 띄우고 2개의 페이지로 나누고 싶을때의 SQL쿼리문입니다. ※ 게시물을 기준으로 보통 최신글이 가장 위에 올라온다. 즉 가장 늦게 들어온 데이터가 가..
게시물을 올릴 때 한글 깨짐 현상이 일어난다. 위 처럼 한글 깨짐 현상이 일어났을 때 확인 해야 할 것이 있다. 1. 브라우저에서 한글이 깨져서 전송되는가. 2. 스프링 MVC쪽에서 한글을 처리하는 필터를 등록 했는가. 브라우저에서 한글 깨짐 확인하는 법 ① 개발자 도구 클릭(우클릭 → 검사 or F12) ② Network 탭을 연상태로 데이터 보내기 ③ 해당 데이터를 보낸 페이지를 클릭하면 해당 정보가 나온다. ④ 클릭한 페이지의 페이로드를 클릭한다. ⑤ 한글이 깨진상태로 전송됬는지 확인한다. (여기서 문제가 없으면 controller 또는 데이터 베이스쪽 문제이다.) 스프링 MVC쪽에서 한글을 처리하는 필터를 등록하기 로그를 확인해 보면 브라우저에서 보낸 한글을 컨트롤러에 전달될때 깨진 상태로 전달되..
jsp가 정상적으로 URL처리가 되는지 확인 할 때 해당 프로젝트를 선택하고 Run on Server 메뉴를 통해서 실행을 하게 된다. Tomcat의 Port Number가 8080이라면 "http://localhost:8080/controller/" 이 경로로 지정되면서 위처럼 home.jsp의 경로로 가게 된다. 위 처럼 borad의 list.jsp를 확인하고 싶다면 " http://localhost:8080/controller/board/list" 로 지정하면서 해당 페이지를 확인 할 수 있다. 하지만 웹 프로젝트는 가능 하면 절대 경로를 이용하는 구조를 사용하는 것이 바람직하다. WHY? 절대 경로는 프로젝트의 안정성과 이식성을 높이며, 유지보수 및 확장성을 강화하는 데 도움이 되기 때문이라고 합..
의존성(Dependency) 하나의 객체가 다른 객체 없이 제대로된 역할을 할 수 없다는것을 의미한다. 즉, 하나의 객체가 다른 객체의 상태에 따라 영향을 받는것이다. ex ) A객체가 B객체 없이 동작이 불가능한 상황을 'A가 B에 의존적이다'라고 한다. 주입(Injection) 외부에서 밀어 넣는것을 의미한다. ∴ 의존성과 주입을 결합해서 생각하면 '어떤 객체가 필요한 객체를 외부에서 밀어 넣는다'는 의미가 된다. why? 왜 굳이 외부에서 객체를 주입해야 하나? 장사를 예로 들면 사과 샌드위치가게, 사과 샐러드가게가 있고 여러 가게에 사과를 납품하는 납품회사가 있다고 가정해보면 이해하기 쉽다. 사과를 납품하는 회사는 여러가게에 사과라는 객체만 전달해주면 된다. 또한 사과 샌드위치 가게와 샐러드 가게..