IT Study/JSP24 JSP - FrontController를 이용한 페이징 유지(비동기처리X) FrontController 패턴을 이용하여 페이징 유지하는 기능을 구현해보았다. 해당 기능은 비동기 처리가 아닌 목록이 초기화되지 않도록 하는 목적이다. 조건 - 게시글 작성/삭제, 댓글 작성/삭제, 좋아요 클릭 시 페이징 유지하기 1) 각 행동을 할 때 cnt값이 유지되어야 한다. *좋아요 기능을 기준으로 설명 a태그의 href 경로나, form태그의 action에서 cnt의 값을 넣어주어야 한다. 2) 행동 이후에 정보가 유지되어야 하므로 forward 방식으로 응답해야 한다. sendRedirect 방식으로 응답하게 되면 글 목록 수가 초기화 되면서 페이징 유지가 불가능하게 된다. 필요한 각 기능에 응답 방식을 forward로 지정하고 경로에 ${cnt}값을 함께 보내면 된다! 2023. 1. 5. JSP - FrontController를 이용한 최근 가입한 회원 목록 출력 기능 FrontController 패턴을 이용하여 최근 가입한 회원 목록을 출력하는 코드를 작성해보았다. 조건 - 최근 가입한 회원 3명까지 출력 1) MemberDAO 회원 테이블에서 총 3명까지의 데이터 값을 가져오는 sql문과 selectAll 메서드를 작성하였다. sql문 SELECT * FROM (SELECT A.*,ROWNUM AS RNUM FROM (SELECT * FROM MEMBER ORDER BY ROWNUM DESC) A WHERE ROWNUM=1 가장 최근의 3명의 데이터를 가져와야 하므로 ROWNUM을 기준으로 내림차순 정렬하여 출력 2) MainAction에서 3명의 데이터를 저장할 배열객체 member를 생성하였고, 'member'라는 속성명에 member 데이터를 set.. 2023. 1. 5. JSP - FrontController를 이용한 내 글만 보기 기능 FrontController 패턴을 이용하여 전체 게시글 중 내 글만 출력하는 기능을 구현해보았따. 조건 - 더보기 클릭 시 전체 게시글이 아닌 내 게시글만 나오도록 해야 함 1. MainAction 1) showContent 파라미터 값을 저장할 'showContent' 객체 생성 main.jsp 2) 객체 showContent가 받아온 값이 main인 경우 전체 글 출력 3) 객체 showContent가 받아온 값이 로그인한 본인인 경우 본인의 글 출력 3)의 경우 showContent(userId 받아온 값) 값을 속성명 moreContent에 저장한다. BoardVO vo = new BoardVO(); String showContent = request.getParameter("showCont.. 2023. 1. 5. JSP - FrontController를 이용한 더보기 기능 FrontController 패턴을 이용하여 더보기 기능을 구현해보았다. 조건 - 모든 목록 출력 시 더보기 기능 비활성화 1. 게시판 VO 클래스에 메인 화면에서 보여줄 글의 개수를 담을 변수 cnt 설정 2. MainAction - 게시글 출력 수 지정 첫 메인화면으로 이동 시 cnt 파라미터 값을 paramCnt 객체에 저장 paramCnt가 null이거나 공백인 경우 cnt의 값을 2로 설정(2개씩 출력할 예정이다) null 값이 아닌 경우(더보기 버튼을 통하여 url의 cnt값이 추가된 경우) 정수로 형변환하여 set 3. MainAction - 더보기 비활성화 1) 게시글과 게시글에서 N개의 댓글을 담을 VO 생성 2) 더보기 버튼을 클릭했을 때 2개씩 추가될 예정이므로 Cnt를 불.. 2023. 1. 4. JSP - ajax를 이용한 로그인 중복처리 기능 1. DAO 생성 메서드를 int 형으로 만들어 0과 1로 데이터 존재 여부/ 오류 등과 같은 상황일 때 사용한다. 서블릿에서 mid값을 받아와 메서드 실행한다. 2. 테이블 생성 ID 테이블을 생성 후 임의의 데이터인 'admin'과 'test' 값 삽입 3. jsp파일 ajax 사용 중복검사 4. 서블릿 package test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import java.. 2023. 1. 4. JSP - FrontController를 이용한 회원탈퇴 기능 FrontController 패턴을 이용하여 회원탈퇴 기능을 구현해보았다. 조건 - 본인의 댓글과 게시글이 존재하는 경우 탈퇴를 하지 못하도록 해야 함 1. 커스텀 태그 생성 메인.jsp 에서의 코드 길이를 줄이기 위해 회원탈퇴용 커스텀 태그를 생성하였다. id 데이터 값은 로그인 시 session으로 가져왔기 때문에 input 타입에서 hidden을 주어도 괜찮았다. password는 로그인 때 request를 이용하였으므로 hidden으로 주고 탈퇴버튼만 클릭하는 것은 불가능 하였다. 2. main.jsp 메인 화면에서 jstl 라이브러리를 사용하여 아이디 값이 null이 아닌경우(로그인상태) 회원탈퇴 버튼이 출력되도록 하였다. 3. 회원탈퇴 Action package ctrl; impor.. 2023. 1. 4. JSP - FrontController 패턴 | FrontController 패턴 클라이언트의 요청에 따라 프론트컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출하여 요청을 처리할 수 있도록 한다. jsp파일로 구성된 컨트롤러에서는 공통된 코드들이 별도로 처리되지 않고 포함되어 있어 코드의 중복이 생기는 경우도 있다. 때문에 서블릿파일을 이용하여 각 기능을 담당하는 컨트롤러(java파일)를 사용자의 요청에 따라 처리하기 위해 해당 패턴을 사용한다. MVC 패턴 + FC 패턴 => MVC 패턴2 1. V(View)에서 FC(FrontController)로 요청 2. FC는 각 기능을 담당하는 java파일로부터 기능 수행 3. 기능 수행 후 V에 출력 FC패턴을 토대로 1. 서블릿 파일 생성을 하고 URL mappings를 모든 요청에 응답하기 위.. 2023. 1. 4. JSP - 리스너/필터 | 초기화 매개변수 초기화 매개변수 - 프로그램을 동작시킬 때 필요한 정보(ex. url, id, pw...)를 소스코드에 하드코딩을 해왔음 그런데 이런 정보들은 프로젝트 중간에 쉽게 변경이 될 수 있음 => 그래서 이런 정보들을 별도로 환경설정 파일(.xml)에 보관 정보 == 초기화 매개변수 -> servletConfig : 해당 서블릿에서 사용가능 -> servletContext : 동일한 웹 어플리케이션 내에서의 모든 서블릿에서 사용가능 ** .xml -> @(어노테이션=에너테이션) 어노테이션 - 컴파일을 시도할 때, 어노테이션이 있었음을 별도로 기억함 특정 기능을 수행할 때 그에 해당하는 어노테이션이 있는지를 먼저 확인 특정 순간에 반응(모니터링, 감지)하는 어노테이션이 있음. 해당 순간.. 2023. 1. 4. JSP,DBMS - 트랜잭션 | 트랜잭션[M] 하나의 작업 처리 단위 서비스의 단위를 정하거나 테이블을 설계하는 경우 ex) 커뮤니티에서 회원탈퇴 시(user delete) > 게시글(board delete)이 전부 삭제 이러한 작업의 단위를 트랜잭션이라고 함 Rollback(); 트랜잭션 처리과정 중 문제가 발생했다면 이전 처리를 다시 돌려놓음 Commit(); 하나의 트랜잭션 단위가 잘 처리된다면 해당 변경사항을 마무리 Practice 상대방에게 입금을 할 때 본인의 계좌에서 돈이 나가는 트랜잭션 dao.java final String sql_transfer1="UPDATE BANK1 SET BALANCE=BALANCE-? WHERE BID=101"; final String sql_transfer2="UPDATE .. 2023. 1. 4. 이전 1 2 3 다음