일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Oracle
- MVC 게시판
- MVC CRUD
- MVC설정
- CRUD
- 게시판
- jdbc
- 게시판만들기
- log4jdbc
- mybatis
- update
- MVC
- log4j
- Connection pool
- 게시판 List
- spring
- 서비스계층
- 환경설정
- Controller
- Oracle 연결
- hikaricp
- service
- delete
- Today
- Total
목록전체 글 (51)
yahayaha

지금까지 완료된 작업은 이미지 경로에 대한 처리, 그리고 중복 이름에 대한 처리를 완료한 상태. 이제 남은건 이게 이미지 파일인지 일반 파일인지 구분을 해야함. 이미지 파일 같은 경우에는 화면에 보여지는 이미지(썸네일 섬네일)를 생성하는 작업을 해야함. 섬네일이지만 그냥 썸네일이 입에 착 달라붙으니 썸네일이라 하겠음. 썸네일을 제작하는 방법으로 여러가지가 있는데 JDK1.4부터는 ImageIO를 제공하기 때문에 이를 이용해서 원본 이미지를 줄일 수도 있고, 별도의 라이브러리를 이용하는 방식도 있음. JDK에 포함된 API를 이용하는 방식보다 별도의 라이브러리를 사용하는 경우가 많음. 그 이유는 이미지를 축소했을 때의 크기나 해상도를 직접 조절한느 작업을 줄이기 위함. 그럼 썸네일 이미지를 작업하기위해 m..

커뮤니티나 포털에서 특정 확장자를 제외한 파일의 업로드를 제한하는 경우가 많음. 이유는 파일업로드 취약점을 이용한 웹셀 공격을 조치하기 위함. 일단 exe, sh, zip 확장자와 특정 크기 이상의 파일은 업로드할 수 없도록 javascript로 처리 예정. 파일 확장자의 경우 정규식을 이용해서 검사를 실행. 먼저 uploadAjax.jsp에 javascript 코드 추가. $(document).ready(function(){ var regex = new RegExp("(.*?)\.(exe|sh|zip|alz)$"); var maxSize = 5242880; //5MB function checkExtenstion(fileName, fileSize){ if(fileSize >= maxSize){ alert..

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)와 한번에 올릴 수 ..

오류를 보면 root-context에서 bean을 생성하는데 오류가 발생됨. driverClassName에서 문제가 있나 했지만 오타나 그런게 없었음. INFO : org.springframework.test.context.support.DefaultTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestEx..
페이징 쿼리 작업하던중 오류가 발생. Error Message = ORA-00911: invalid characte 오류 내용은 문자가 부적절하다는 것. 오류를 한참을 보다가 뭔가 빠진것을 발견 나머지 쿼리문 끝에는 세미콜론이 있지만. 오류가 발생하는 쿼리에 세미콜론이 없는걸 확인. Caused by: Error : 911, Position : 204, SQL = select * from ( select /*+ INDEX_DESC(tbl_board pk_board) */rownum rn, bno, title, writer from tbl_board where bno > 0 and rownum > 0 and rownum ( 2 - 1 ) * 10;, Original SQL = select * from ( ..
INFO : org.springframework.test.context.support.DefaultTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExec..
https://yayayahaha.tistory.com/55 24. 댓글 페이징처리. 댓글의 숫자가 많으면 데이터베이스에서 많은 양의 데이터를 가져와야함. 하지만 이는 성능상의 문제를 가져올 수 있음. 그래서 이런 문제는 일반적으로 페이징 처리를 이용함. 댓글에 대해서 yayayahaha.tistory.com 댓글 페이징 처리를 하는데 갑자기 어제까지만 해도 잘 보이는 댓글 목록이 보이지 않음. 콘솔이나 데이터베이스 sts내에서는 잘 출력되는걸 확인 했는데. 이상하게 오류가 안나고 js 소스가 계속 반영이 안되고 있던것. 이유는 브라우저가 캐시를 사용하기 때문. 브라우저의 캐시에 적재된 파일 내용을 ㅗ처리하기 때문에 새로 변경된 파일을 브라우저가 인식하지 못할 때 업데이트 된 내용이 반영되지 않았던것. ..

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