분류 전체보기(145)
-
트랜잭션 이용 & AOP 이용
트랜잭션 적용 순서:1) pom.xml으로 라이브러리 로딩2) root-context로 트랜잭션 찾을 패키지 지정3) @Transactional로 트랜잭션 적용 1) pom.xml으로 라이브러리 로딩 12345678 org.springframeworkspring-tx${org.springframework-version} Colored by Color Scriptercs 2) root-context로 트랜잭션 찾을 패키지 지정 12345678910 Colored by Color Scriptercs 3) @Transactional로 트랜잭션 적용 1234567891011 @TransactionConfiguration(transactionManager="transactionManager",defaultRoll..
2017.01.09 -
썸네일(Thumbnail) 만들기
1) 라이브러리 없이 123456789101112131415161718192021222324 public String makeThumbnail(int thumbnail_width, int thumbnail_height){ String thumbnailName = null; if(newFileFlag){ try{ //file 중에서 image를 읽어온다. BufferedImage originImage = ImageIO.read(newFile); thumbnailName="thumb_"+newFilename; thumbFile = new File(savePath,thumbnailName); //기존 이미지가 썸네일보다 작으면 수정할 필요 없다. if(!(originImage.getWidth() 그리기 -> ..
2017.01.02 -
Spring으로 파일 수정, 게시글+댓글 삭제
"수정(Update)은 insert + delete"새 파일은 저장하고,기존 파일 삭제하므로 1234//기존 파일 삭제if(board.getFilename()!=null){ new File(saveDirectory, board.getFilename()).delete();}Colored by Color Scriptercs 게시글+댓글 삭제 순서:1) 쿼리문 준비(Board, 연관된 Comments 삭제)2) Dao로 두 쿼리문을 실행3) Dao의 결과를 Map로 받음 1) 쿼리문 준비(Board, 연관된 Comments 삭제) ㄱ. 게시글 삭제DELETE FROM board where num= #{num} ㄴ. 연관된 댓글 삭제DELETE FROM Comments where board_num= #{boar..
2016.12.30 -
Spring으로 파일 업로드
순서:1) servlet-context.xml 세팅(MultipartResolver 추가)2) pom.xml에서 사용할 라이브러리 추가(commons-io & commons-fileupload)3) Board 빈 객체에 두 칼럼 추가4) 컨트롤러에서 insert.do 수정5) BoardAddForm에서 insert 값에 따라 alert 출력6) 뷰 페이지에서 이미지 출력 1) servlet-context.xml 세팅(MultipartResolver 추가) 1234 Colored by Color Scriptercs 2) pom.xml에서 사용할 라이브러리 추가(commons-io & commons-fileupload) 12345678910111213 commons-io commons-io 2.4 commo..
2016.12.28 -
AJAX로 인터셉터 구현하기
순서:1) 인터셉터2) 뷰.jsp 1) 인터셉터 AjaxLoginCheckInterceptor.java public class AjaxLoginCheckInterceptor extends HandlerInterceptorAdapter{ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { LoginVo loginVo = (LoginVo)request.getSession().getAttribute("loginVo"); boolean login = false; if(loginVo!=null){ login = true; }else{ //..
2016.12.27 -
AJAX로 페이징 구현하기
순서:1) 매퍼(SQL문)2) DAO3) 컨트롤러4) 페이징.jsp5) 뷰.jsp 1) 매퍼(SQL문) = #{paging.startNum} ) WHERE row_num //코멘트 숫자(페이지수 정하기 위한) SELECT count(*) FROM COMMENTS WHERE board_num = #{board_num} 2) DAO CommentsDao.java public List list(Map map){ return sqlSession.selectList(CommentsMapper+".selectAllComments", map); } public int totalCount(int board_num) { return sqlSession.selectOne(CommentsMapper+".totalCount"..
2016.12.27