전체 글 (205) 썸네일형 리스트형 MVC - 서블릿(컨트롤러)/답변형 게시판 5(페이징) 페이징 처리를 할 때 화면 하단에 나타나는 페이지 번호들의 나열이 모여 하나의 섹션이 된다. 여기서 첫 번째 섹션은 첫 번째 페이지부터 열 번째 페이지 까지로 볼 수 있다. 두 번째 섹션은 열한 번째 부터 스무 번째 페이지까지를 뜻한다. 그래서 페이지 2를 클릭하면 브라우저는 서버에 section 값으로 1을, pageNum 값으로 2를 전송하게 된다. 그리고 글 목록에는 두 번째 페이지에 해당하는 글인 예를들어 11번부터 20번 까지의 글을 테이블에서 조회한 후 표시하게 된다. 페이징을 위한 쿼리는 위와 같은 형태를 취한다. 이 게시판은 계층형 게시판이기 때문에 계층형 구조를 조회하는 select문이 서브쿼리로 들어가게 된다. jsp 페이지에서는 전체 하나의 세션에 나타낼 데이터 갯수를 100개로 설정.. MVC - 서블릿(컨트롤러)/답변형 게시판 4(답글 작성) 글 상세창에서 답글쓰기를 클릭하면 parentno를 컨트롤러로 전송하고, 답글 쓰기창에서 답변 글을 작성한 후 컨트롤러로 요청한다. 그러면 컨트롤러에서는 전송된 답글 정보를 게시판 테이블에 부모 글 번호와 함께 추가한다. 답글도 새 글이기 때문에 새 글 쓰기 기능과 비슷하다. 차이점은 답글창을 요청할 때 미리 부모 글 번호를 parentno 속성으로 세션에 저장해 두고, 답글을 작성한 후 등록을 하면 세션에서 parentno를 가져와 테이블에 추가한다는 점이다. 원래 있던 글을 선택하고 답글 쓰기를 누른 후 새로운 글을 작성하면 위와 같이 부모글에 대한 답변으로 달리게 된다. 답글의 글 번호에 해당하는 폴더도 새로 생성되어 이미지가 저장되는 것은 그냥 부모글을 작성하는 것과 마찬가지로 된다. 메서드도 그.. MVC - 서블릿(컨트롤러)/답변형 게시판 3(수정, 삭제) 이미지와 글을 수정한 후 수정 사항을 저장하면 컨트롤러는 이 요청을 upload() 메서드를 이용해 수정 데이터를 Map에 저장하고 반환한다. 컨트롤러는 수정된 데이터를 테이블에 반영한 후 temp 폴더에 업로드 된 수정 이미지를 글 번호로 이동시키고, 글 번호 폴더에 있던 원래 이미지 파일을 삭제한다. 글 상세 페이지로 들어가면 위와 같은 화면이 출력된다 여기서 수정하기를 누르게 되면, disabled로 되어있던 부분이 변경 가능하도록 바뀐다. 이제 글이나 이미지를 수정하고 수정반영하기를 클릭하면 변경된 데이터로 상세페이지가 다시 출력된다. 글을 삭제할 때는 테이블의 글 뿐 아니라 그 글의 자식 글과 이미지 파일도 함께 삭제해야 한다. 자연적으로 삭제된 글에 대한 이미지 파일 저장 폴더도 삭제한다. 삭.. MVC - 서블릿(컨트롤러)/답변형 게시판 2(글쓰기, 상세내용) 게시글 작성 글쓰기창에서 새 글 전송시 컨트롤러의 upload() 메서드를 호출해 새 글 정보를 Map으로 반환 받고 첨부한 파일은 임시로 temp 폴더에 업로드 컨트롤러는 서비스 클래스의 addNewArticle() 메서드를 호출하면서 새 글 정보를 인자로 전달해 테이블에 추가한 후 새 글 번호를 반환받음 컨트롤러에서 반환 받은 새 글 번호를 이용해 파일 저장소에 새 글 번호로 폴더를 생성하고 temp 폴더의 파일을 새 글 번호 폴더로 이동 글쓰기 페이지로 들어와서 이미지 파일을 첨부하게 되면, 제이쿼리를 통해서 첨부한 이미지 파일을 미리볼 수 있도록 할 수 있음 또 이런 식으로 처음에 temp라는 임시파일에 저장해 두었다가 글 번호에 해당하는 폴더를 생성한 뒤 이 폴더로 temp에 있는 이미지 파일을.. MVC - 서블릿(컨트롤러)/답변형 게시판 1(계층구조) 웹 애플리케이션 개발은 일반적으로 많이 사용하는 표준화 소스 구조를 만들어 개발을 진행하며, 이렇게 표준화된 소스 구조를 웹 애플리케이션 모델이라고 한다. 웹 애플리케이션 모델의 종류에는 모델 1과 모델 2 방식이 있다. 모델1 방식은 DB 연동 같은 비즈니스 로직 작업과 그 결과를 나타내는 작업을 동일한 jsp에서 수행한다. 즉, 모든 클라이언트의 요청과 비즈니스 로직 처리를 jsp가 담당하는 구조이다. 이 방식은 기능 구현이 쉽고 편리하지만 유지보수에 문제가 생긴다. 모델2 방식은 요청 처리, 응답 처리, 비즈니스, 로직 처리를 분리해서 구현하는 것으로 객체 지향 프로그래밍에서 각각의 기능을 모듈화해서 개발하자는 것과 같은 원리다. 모델2 구조에서 가장 자주 사용되는 개념은 MVC 패턴이다. 웹 애플.. 제이쿼리(Ajax, JSON) 화면의 동적 기능을 자바스크립트보다 좀 더 쉽고 편리하게 개발할 수 있게 해주는 자바스크립트 기반 라이브러리. 여러가지 효과나 이벤트를 간단한 함수 호출만으로 빠르게 개발할 수 있어서 유용하다. 제이쿼리를 사용하는 방법은 제이쿼리 사이트에서 라이브러리를 다운로드해서 사용하는 것과 네트워크로 CDN 호스트를 설정해서 사용하는 방법이 있는데 여기서는 두 번째 방법을 사용한다. HTML이나 JSP에 제이쿼리 CDN 호스트를 설정하기 위해서는 아래를 추가해줘야 한다. - 최신 버전의 제이쿼리 사용 버전을 지정해서 사용할 수도 있음 제이쿼리 여러 기능 제이쿼리는 HTML 객체(DOM)를 탐색하는 방법으로 CSS 선택자를 이용한다. 선택자 표현 방법 설명 $("*") 모든 DOM을 선택 ${"#id") 해당되는 i.. JSP에서 파일 업로드, 다운로드 JSP는 대부분의 기능을 오픈 소스로 제공하며, 대표적인 기능이 파일 업로드와 다운로드 기능이고, 이 외에도 이메일 등 많은 오픈 소스 라이브러리를 제공한다. 파일 업로드 기능을 사용하기 위해서는 오픈 소스 라이브러리를 설치해야 한다. http://archive.apache.org/dist/commons/fileupload/binaries/ Index of /dist/commons/fileupload/binaries archive.apache.org https://commons.apache.org/proper/commons-io/download_io.cgi Commons IO – Download Apache Commons IO Download Apache Commons IO Using a Mirror W.. JSP 표준 태그 라이브러리(JSTL) 라이브러리 세부 기능 접두어 코어 변수 지원, 흐름 제어, 반복문 처리, URL 처리 c 국제화 지역, 메시지 형식, 숫자 및 날짜 형식 fmt XML XML 코어, 흐름제어, XML 변환 x 데이터베이스 SQL sql 함수 컬렉션 처리, 문자열 처리 fn https://tomcat.apache.org/download-taglibs.cgi Apache Tomcat® - Apache Taglibs Downloads Welcome to the Apache Taglibs download page. This page provides download links for obtaining the latest version of the Apache Standard Taglib, as well as links to th.. 이전 1 2 3 4 5 ··· 26 다음