목록
'java web' 123건
-
글 삭제 기능 구현
어제 게시판의 글을 삭제하는 과정을 구현할 차례입니다. 글을 삭제할 때는 테이블의 글뿐만 아니라 그 글의 자식 글과 이미지 파일도 함께 삭제해야 합니다.글 삭제 과정은 다음과 같습니다.① 글 상세창(viewArticle.jsp)에서 삭제하기를 클릭하면 /board/removeArticle.do로 요청합니다.② 컨트롤러에서는 글 상세창에서 전달받은 글 번호에 대한 글과 이에 관련된 자식 글들을 삭제합니다.③ 삭제된 글에 대한 이미지 파일 저장 폴더도 삭제합니다. 그럼 이름 BoardDAO 클래스에 추가하여 삭제 기능을 구현해 보겠습니다. 1. sec04.brd06 패키지를 만들고 다음과 같이 삭제 기능 자바 클래스와 JSP를 추가합니다. 2. BoardController 클래스를 다음과 같이 작성합니다. .. -
글 수정 기능 구현이번에는 기존에 작성한 글을 수정하는 기능을 구현해 보겠습니다.글 수정 기능을 구현하는 과정은 다음과 같습니다.① 글 상세창(viewArticle.jsp)에서 수정하기를 클릭해 글 정보를 표시하는 입력창들을 활성화합니다.② 글 정보와 이미지를 수정한 후 수정반역하기를 클릭해 컨트롤러에 /board/modArticle.do로 요청합니다.③ 컨트롤러는 요청애 대해 upload() 메서드를 이용하여 수정된 데이터를 Map에 저장하고 반환합니다.④ 컨트롤러는 수정된 데이터를 테이블에 반영한 후 temp 폴더에 업로드된 수정 이미지를 글 번호 폴더로 이동합니다.⑤ 마지막으로 글 번호 폴더에 있던 원래 이미지 파일을 삭제합니다. 1. sec03.brd05 패키지를 만들고 글 수정 기능과 관련된 클래스를 다음과 같이..
-
글 상세 기능 구현글 목록에서 글 제목을 클릭했을 때 글의 상세 내용을 보여주는 기능을 구현해 보겠습니다.다음은 글 상세 기능을 구현하는 과정입니다.① 글 목록창에서 글 제목을 클릭해 컨트롤러에 /board/viewArticle.do/articleNO=글번호로 요청합니다.② 컨트롤러는 전송된 글 번호로 글 정보를 조회하여 글 상세창(viewArticle.jsp)으로 포워딩합니다.③ 글 상세창(viewArticle.jsp)에 글 정보와 이미지 파일이 표시됩니다. 1. 글 상세 기능에 관련된 자바 코드와 JSP 파일을 다음과 같이 추가합니다. 글 상세 기능을 구현하는 데 필요한 첨부 이미지를 표시하기 위해 sec03.common 패키지를 만든 후 FileDownloadController 클래스를 생성합니다. 2. FileDo..
-
게시판 글쓰기 구현게시판의 글쓰기 기능을 구현하는 과정은 다음과 같습니다.① 글 목록 창(listArticles.jsp)에서 글쓰기창을 요청합니다.② 글쓰기창에서 글을 입력하고 컨트롤러에 /board/addArticle.do로 글쓰기를 요청합니다.③ 컨트롤러에서 Service 클래스로 글쓰기창에서 입력한 글 정보를 전달해 테이블에 글을 추가합니다.④ 새 글을 추가하고 컨트롤러에서 다시 /board/listArticles.do로 요청하여 전체 글을 표시합니다. 클래스와 JSP를 구현하기 전에 프로젝트의 WebContent\lib 폴더에 파일 업로드와 관련된 라이브러리를 미리 복사해 붙여넣습니다. 그리고 파일 저장소인 C:\board\article_image 폴더를 만듭니다. 그럼 지금부터 실제 클래스와 JSP로 글쓰기 창..
-
모델2로 답변형 게시판 구현하기1. sec03.brd01 패키지를 새로 만들고 관련된 클래스 추가합니다. 또한 board01 폴더를 만들고 listArticles.jsp를 추가합니다. 2. BoardController 클래스를 다음과 같이 작성합니다. 이 클래스는 /board/listArticles.do로 요청 시 화면에 글 목록을 출력하는 역할을 합니다. getPathInfo() 메서드를 이용해 action 값을 가져오고 null이거나 /listArticles.do일 경우 BoardService 클래스의 listArticles() 메서드를 호출해 전체 글을 조회합니다. 그리고 조회한 글을 articlesList 속성으로 바인딩하고 목록창(listArticles.jsp)으로 포워딩합니다.package sec03.brd01;impor..
-
회원 정보 수정 및 삭제 기능 구현이번에는 회원 정보를 수정하고 삭제하는 기능을 구현해 보겠습니다. 회원 정보를 수정하는 과정은 다음과 같습니다.① 회원 정보 수정창에서 회원 정보를 수정하고 수정하기를 클릭해 /member/modMember.do로 컨트롤러에 요청합니다.② 컨트롤러는 전송된 회원 수정 정보를 가져온 후 테이블에서 회원 정보를 수정합니다.③ 수정을 마친 후 컨트롤러는 다시 회원 목록창을 보여줍니다. 삭제하는 과정도 크게 다르지 않습니다. ① 회원 목록창에서 삭제를 클릭해 요청명 member/delMember.do와 회원 ID를 컨트롤러로 전달합니다.② 컨트롤러는 request의 getPathInfo() 메서드를 이용해 요청명을 가져옵니다.③ 회원 ID를 SQL문으로 전달해 테이블에서 회원 정보를 삭제합니다. 1. sec0..
-
회원 정보 조회 기능 구현① 브라우저에서 /mem.do를 요청합니다.② 서블릿 MemberController가 요청을 받아 MemberDAO의 listMembers() 메서드를 호출합니다.③ MemberDAO의 listMembers() 메서드에서 SQL문으로 회원 정보를 MemberVO에 설정하여 반환합니다.④ 다시 MemberController에서는 조회한 회원 정보를 회원 목록창(listMembers.jsp)으로 포워딩하니다.⑤ 회원 목록창(listMember.jsp)에서 포워딩한 회원 정보를 목록으로 출력합니다. 1. 새 프로젝트 pro17에 sec01.ex01 패키지를 만든 후 MemberController, MemberDAO, MemberVO 클래스를 추가합니다. 그리고 test01 폴더를 만들고 listMembers...
-
Ajax 이용해 서버와 JSON 데이터 주고받기이번에는 서버와 서블릿과 JSON 자료를 주고받는 기능을 알아보겠습니다. 서버의 서블릿에서 JSON을 사용하려면 JSON 라이브러리를 설치해야 합니다. 1. 다음 사이트로 접속합니다.https://code.google.com/archive/p/json-simple/downloads 2. json-simple-1.1.1.jar를 클릭해 다운로드합니다. 3. 이클립스 프로젝트의 /WebContent/lib 폴더에 붙여 넣습니다. 4. 이번에는 JSP에서 제이쿼리의 Ajax 기능을 이용해 서블릿으로 JSON 데이터를 전송하기 위해 sec03.ex01 패키지를 만들고 JsonServlet 클래스를 추가합니다. 5. JsonServlet1 클래스를 다음과 같이 작성합니다. 먼저 Ajax로 전달된 JSON 문자열을..
-
JSON의 자료형 사용 실습이번에는 JSON 자료형을 실제로 사용하여 값을 출력하는 예제를 실습해 보겠습니다. 1. 다음과 같이 test04 폴더를 만들고 json1~4까지 jsp 파일을 생성합니다. 2. json1.jsp를 다음과 같이 작성합니다. JSON 배열에 문자열을 저장한 후 웹 페이지에 출력하는 내용입니다. 출력 2. http://localhost:8080/pro16/test04/json1.jsp로 요청하여 출력을 클릭하면 배열 요소의 값을 출력합니다. 4. 이번에는 정수 자료형을 배열로 저장한 후 화면에 출력해 보겠습니다. json2.jsp를 다음과 같이 작성합니다. 출력 5. http://localhost:8080/pro16/test04/json2.jsp로 요청한 후 출력을 클릭하..
-
제이쿼리에서 JSON 사용하기PC 브라우저와 서버 그리고 Ajax를 연동할 때는 XML 형식으로 데이터를 주고받습니다. 모바일 사용량이 많은 요즘은 모바일에서도 서버와 Ajax로 연동할 경우 내부적으로 여러 단계의 처리 과정을 거치게 되므로 자원이 열악한 모바일 환경은 속도 면에서 불리합니다. 따라서 모바일에서는 대부분 XML보다 형식이 단순한 JSON으로 데이터를 주고받습니다. 이번에는 JSON을 이용해 Ajax 기능을 사용해 보겠습니다. JSON은 name/value 쌍으로 이루어진 데이터 객체를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 데이터 형식입니다. 비동기 브라우저/서버 통신(Ajax)를 위해 XML을 대체하는 데이터 전송 형식 중 하나라고 이해하면 됩니다. 근본은 자바스크립트에서 파생된 것으로 ..
-
ID 중복 여부 확인하기1. sec02.ex01 패키지를 만들고 MemberDAO, MemberServlet를 만듭니다. 그리고 ajax3.html을 추가합니다. 2. MemberServlet 클래스를 다음과 같이 작성합니다. 클라이언트에서 Ajax로 전송된 ID를 받아서 MemberDAO의 overlappedID() 메서드로 전달합니다. 그리고 그 결과를 이용해 클라이언트에게 다른 메시지를 전달합니다.package sec02.ex01;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Htt..
-
XML 데이터 연동하기이번에는 Ajax 응답 시 도서 정보를 XML로 전달받아 출력하는 예제를 실습해 보겠습니다. 1. 다음과 같이 AjaxTest2 클래스를 작성합니다. , , 태그를 이용해 도시 정보를 XML 형식으로 작성한 후 브라우저로 전송합니다. package sec01.ex01;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/ajaxTes..