본문 바로가기

#직업훈련#자바#IT#개발자#직업훈련생#주니어개발자#웹#취성패#취업성공패키지#코딩#웹개발자#JSP

자바(JAVA)기반 안드로이드 웹&앱 개발 79일차 스프링, MySQL (2) (이어서 첨부파일 수정, Security, 권한, 접근제한메시지, 커스텀로그인, CSRF ) [Spring Security의 핵심구조] 1. AuthenticationManager 는 다양한 방식의 AuthenticationProvider를 이용해서 사용자 정보를 확인 Spring Security 핵심구조 ​ [로그인과 로그아웃 처리] 1. [Security가 필요한 설계] 를 이어서, security-context.xml에 접근제한설정을 하겠습니다. 1) access="" 로 접근제한 설정을 합니다. all 은 permitAll, hasRole은 신분증 개념으로 생각하시면 됩니다. https://to-dy.tistory.com/75 Spring Security - 경로에 따른 접근 권한 설정 스프링 시큐리티에서는 권한에 따라 접근 가능한 경로를 제한할 수 있다. 그럼 권한에 따라 다른 링크를 .. 더보기
자바(JAVA)기반 안드로이드 웹&앱 개발 79일차 스프링, MySQL (1) (이어서 첨부파일 수정, Security, 권한, 접근제한메시지, 커스텀로그인, CSRF ) 이어서... [게시물의 수정과 첨부파일] 첨부파일은 사실상 수정이라는 개념이 존재하지 않습니다. 삭제 후 다시 추가하는 방식입니다. 1. 첨부파일 데이터를 보여주기 위해서 modify.jsp(수정화면) 에 HTML 과 CSS를 추가합니다. CSS는 기존에 사용하던 것과 동일하므로 복사해옵니다. (CSS 생략) modify.jsp 2. modify.jsp javascript 부분에 첨부파일을 추가하는 코드를 작성합니다. (register.jsp 것 복사) 1) cloneObj 를 하는 것이 register.jsp 와 다릅니다. modify.jsp javascript ​ 3. modify.jsp javascript 부분에 게시글 수정(modify)버튼이 눌렸을 때 첨부파일에 대한 수정정보를 전송하기 위한 코.. 더보기
자바(JAVA)기반 안드로이드 웹&앱 개발 78일차 스프링, MySQL (게시판 첨부파일 등록, 삭제 ) [첨부파일 정보를 위한 준비] 1. 첨부파일에 대한 정보를 저장하는 tbl_attch 테이블을 추가합니다. create table tbl_attach ( uuid varchar(100) not null, uploadPath varchar(200) not null, fileName varchar(100) not null, fileType char(1) default '1', bno integer ); ​ alter table tbl_attach add constraint pk_attach primary key (uuid); (tbl_attach 테이블에 uuid를 기본키(PK)로 준 것입니다.) alter table tbl_attach add constraint fk_board_attach foreign .. 더보기
자바(JAVA)기반 안드로이드 웹&앱 개발 77일차 스프링 (이어서 AOP, 썸네일, 첨부파일 다운로드 ) [Thumbnail 이미지 생성] 1. 원본 이미지를 사용하는 경우 브라우저에 너무 많은 데이터들이 전송되는 문제가 있습니다. 2. 일반적으로 이 문제를 해결하기 위해서 작은 이미지(썸네일, Thumbnail)를 생성해서 처리합니다. 3. JDK 의 ImageIO를 이용할수도 있지만, 해상도 등의 문제로 인해 별도의 라이브러리를 활용합니다. 4. pom.xml에 Thumbnailatior 라이브러리 의존성을 추가합니다. pom.xml 5. 첨부파일이 이미지 파일인지 판단하여, 이미지 타입이면 썸네일을 생성하도록 합니다. 1. UploadController.java 에 checkImageType(특정한 파일이 이미지 타입인지를 검사하는 메소드)와 기존의 uploadAjaxPost()에 이미지 타입이라면 섬.. 더보기
싸이월드 프로젝트 5번 기능(Today, Total) Today, Total은 개념을 이렇게 잡았습니다. visit 이라는 Table을 만들어서 사용자가 해당 미니홈페이지를 클릭했을 때, 오늘의 날짜를 자동으로 visit Table에 삽입하고 (Today 증가) 오늘의 날짜와 visit Table의 방문날짜를 비교하여 오늘의 날짜를 가진 Row(행)만 Count 하여 보여주고 (누적된 Today 中 오늘의 Today) visit Table에 삽입되어진 전체 데이터의 수를 보여준다. (Total) ​ 1. visit Table을 생성합니다. 1) date 만 가지고 있습니다. visit Table 생성 2. 해당 미니홈페이지에 들어왔을 때, 어떻게 데이터를 삽입할 것인가..? VisitCountDAO 에서 각 setTotalCount(총방문 증가), getT.. 더보기
싸이월드 프로젝트 5번 기능(Today, Total) Today, Total은 개념을 이렇게 잡았습니다. visit 이라는 Table을 만들어서 사용자가 해당 미니홈페이지를 클릭했을 때, 오늘의 날짜를 자동으로 visit Table에 삽입하고 (Today 증가) 오늘의 날짜와 visit Table의 방문날짜를 비교하여 오늘의 날짜를 가진 Row(행)만 Count 하여 보여주고 (누적된 Today 中 오늘의 Today) visit Table에 삽입되어진 전체 데이터의 수를 보여준다. (Total) ​ 1. visit Table을 생성합니다. 1) date 만 가지고 있습니다. visit Table 생성 2. 해당 미니홈페이지에 들어왔을 때, 어떻게 데이터를 삽입할 것인가..? VisitCountDAO 에서 각 setTotalCount(총방문 증가), getT.. 더보기
싸이월드 프로젝트 3번 기능(최신 게시글 및 카테고리 별 게시글 수 보여주기) [최신 게시글 보여주기] 1. home.jsp 에 BoardList를 보여주는 코드를 추가합니다. 2. BoardVO.java, BoardDAO.java 를 생성합니다. 계속 리스트를 보여주는 형식이기 때문에 달라지는 쿼리문에 대해서만 설명하겠습니다. BoardVO.java 1) 게시글을 보여주기 위한 메소드입니다. 4개의 테이블(board, boardtest, boardtest2, boardtest3)을 UNION ALL ( 중복 값까지 출력) 하여 writedate를 기준으로 desc(내림차순)하여 0번째부터 4번째까지 화면에 보여주는 것입니다. 작성시간을 기준으로 내림차순한다면, 최신글이 계속 첫번째로 오기 때문입니다. 나머지 동작방식은 1,2(자기소개, 타이틀)번과 동일합니다. ※ boardtes.. 더보기
자바(JAVA)기반 안드로이드 웹&앱 개발 76일차 스프링 (AOP, 트랜잭션, 파일업로드, 확장자 제한, 중복처리UUID ) https://blog.naver.com/tnwnsrla/222399457507 Spring AOP (Aspect-Oriented Programming)(관점지향 프로그래밍) 계속해서 수 많은 개념들이 나오고 있습니다.. 그럴 때마다 그냥 넘어가고 싶지만, 지금 잘 알아둬야 나중... blog.naver.com https://jojoldu.tistory.com/71?category=635883 AOP 정리 (3) AOP란? Spring의 핵심 개념중 하나인 DI가 애플리케이션 모듈들 간의 결합도를 낮춰준다면, AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하는 것입니다. AOP (Aspect-Oriented Programming).. jojoldu.tistory.com ​ 오늘부터는 .. 더보기