일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Oracle
- service
- CRUD
- Oracle 연결
- MVC 게시판
- 게시판
- MVC설정
- Controller
- MVC CRUD
- 게시판 List
- spring
- log4j
- mybatis
- Connection pool
- update
- delete
- 게시판만들기
- 서비스계층
- hikaricp
- jdbc
- 환경설정
- log4jdbc
- MVC
- Today
- Total
목록spring (44)
yahayaha

pox.xml에 설정 셋팅. 서블릿은 3.0 이상 버전으로 사용. javax.servlet javax.servlet-api 4.0.1 provided 그리고 web.xml 태그 내에 태그를 추가. appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml 1 C:\\upload\\temp 20971520 41943040 20971520 의 설정은 특정 사이즈의 메모리 사용(file-size-threshold), 업로드되는 파일을 저장할 공간(location)과 업로드되는 파일의 최대 크기(max-file-size)와 한번에 올릴 수 ..

댓글의 숫자가 많으면 데이터베이스에서 많은 양의 데이터를 가져와야함. 하지만 이는 성능상의 문제를 가져올 수 있음. 그래서 이런 문제는 일반적으로 페이징 처리를 이용함. 댓글에 대해서 우선적으로 고려해야 하는 일은 tbl_reply 테이블을 접근할 때 댓글의 번호(rno)가 중심이 아니라, 게시물의 번호(bno)가 중심이 되어야함. 인덱스 이용해서 페이징 처리하기 인덱스를 이용하는 이유 중에 하나는 정렬을 피할 수 있기 때문. ReplyMapper.xml에 댓글을 페이징 처리하는 쿼리문을 추가. 0 and rownum (#{cri.pageNum} - 1) * #{cri.amount} ]]> 부등호를 사용하기위해 사용 그럼 쿼리문이 잘 동작하는지 테스트를 진행. @Test public void testLi..

ajax 처리가 완료가 확인. 남은 작업은 이벤트를 감지하고 ajx 호출 결과가 화면에 반영하는게 남음. 댓글 목록 처리 댓글 목록을 생성하기 위해서 별도의 div를 생성해야함. 댓글의 목록은 태그를 이용. 각 태그는 하나의 댓글을 의미하므로 수정이나 삭제 시 클릭하게 됨. 수정이나 삭제 시 댓글번호(rno)가 필요. data-rno 속성을 이용해서 처리해야함. get.jps에 추가적인 화면 처리 작업시작. Reply user00 2018-01-01 13:13 GOOD JOP 게시글의 조회 페이지가 열리면 자동으로 댓글 목록을 가져와야함. 이에 대한 처리는 $(document).ready로 작업. $(document).ready(function(){ var bnoValue = ''; var replyUL..

먼저 JSP 내에서 스크립트 처리를 하기에는 복잡해지기에 모듈화를 실행. webapp 내 resource 폴데어 reply.js 파일 작성. console.log("Reply Module..."); var replyservice = {}; reply.js 파일은 게시물 조회 페이지에 사용하려고 작성. get.jsp에 스크립트 추가. reply.js가 정상적으로 동작 되는지 f12 개발자 도구에서 network에서 확인. 모듈 구성 모듈 패턴은 Java의 클래스처럼 JavaScript를 이용해서 메서드를 가지는 객체를 구성. 모듈 패턴은 JavaScript의 즉시 실행함수와 '{}'를 이용해서 객체를 구성. console.log("Reply Module..."); var replyservice = (fun..

서비스 영역과 Controller의 처리는 기본 BoardService와 동일하게 진행. import java.util.List; import org.zerock.domain.Criteria; import org.zerock.domain.ReplyVO; public interface ReplyService { public int register(ReplyVO reply); public ReplyVO get(Long rno); public int modify(ReplyVO reply); public int remove(Long rno); public List getList(Criteria cri, Long bno); } import java.util.List; import org.springframewor..

댓글을 추가하기 위해서 구조에 맞는 테이블을 설계. create table tbl_reply( rno number(10,0), bno number(10,0) not null, reply varchar2(1000) not null, replyer varchar2(50) not null, replyDate date default sysdate, updateDate date default sysdate ); create sequence seq_reply; alter table tbl_reply add constraint pk_reply primary key(rno); alter table tbl_reply add constraint fk_reply_board foreign key (bno) references..

먼저 신경 써야하는 사항이 있음. 1. 페이지 번호가 파라미터로 유지되었던 것처럼 검색 조건과 키워드 역시 항상 화면 이동 시 같이 전송 되어야함. 2. 화면에서 검색 버튼을 클릭하면 새로 검색을 한다는 의미이므로 1페이지로 이동 3. 한글으 ㅣ경우 GET 방식으로 이동하는 경우 문제가 생길 수 있으니 주의 그럼 list.jsp에서 검색처리를 위한 수정. 제목 Search 제목 Search ----------------스크립트------------- var searchForm = $("#searchForm"); $("#searchForm button").on("click", function(e){ e.preventDefault(); console.log("................click"); se..

페이징 처리에 사용했던 Criteria의 의도는 단순 pageNum과 amount라는 파라미터 수집을 하기 위해서 사용. 페이징 처리에 검색 조건 처리가 들어가면 Criteria 역시 변화가 필요. 검색 조건을 처리하기 위해서는 검색 조건(type)과 검색에 사용하는 키워드가 필요. 기존의 Criteria를 확장할 필요가 있음. 확장 하는 방법은 상속을 활용하거나 직접 Criteria 클래스를 수정하는 방식을 사용 가능. 일단 Criteria 클래스를 직접 수정하는 방법으로 진행. Criteria 클래스를 수정. 검색에 필요한 type과 keyword를 추가. 검색 조건을 t, tc, tcw이런식으로 처리를 하려고 하면 문자열이기 때문에 foreach문을 사용할 수 없음. 배열이나 map 또는 set 같..