전체 글 150

[Javascript] AJAX란?

JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자이다. 여기서, 비동기 방식이 무엇인지 궁금할것인데 우리가 웹 페이지에서 어떤 요청을 하면 화면 전체가 깜빡할것이다. 이럴경우 F12(개발자모드) 에서 네트워크 탭에서, 데이터를 확인해보면 전체 데이터를 리로드 하는경우가 있다. 이런경우 (동기 방식) 전체 데이터를 리로드 하는방식이다. 동기 - 정해진 순서대로만 진행 가능하다. (어떠한 처리를 할경우 그처리를 처리후 다른걸로 넘어간다) 비동기 - 여러개의 요청사항을 한꺼번에 진행할수 있다. ( 대표적으로 백그라운드랑 똑같은 개념이라 생각하면됨) 비동기식의 장점 페이지리로드를 할경우 전체 리소스를 다시 불러와야 하는데,..

[Spring] 37 기존 프로젝트에 스프링 시큐리티 접목하기

-스프링 시큐리티를 사용할때 POST 방식의 전송은 반드시 CSRF 토큰을 사용하도록 추가해야한다. 기존의 프로젝트에 시큐리티 접목하는 작업은 아래와 같은 순서로 진행 한다. 1) 로그인, 회원가입 페이지 작성 2) 기존화면과 컨트롤러에 시큐리티 관련 내용 추가 3) Ajax 부분의 변경 -기존의 예제에서 새로운 프로젝트를 작성한다. 관련 설정 추가 * security-context.xml 추가 / org.zerock.security 및 이하 패키지 추가 / org.zerock.domain 내에 MemberVO와 AuthVO 클래스 추가/ web.xml에 security-context.xml 설정과 필터 추가 / MemberMapper 인터페이스와 MemberMapper.xml 추가 / org.zeroc..

[Web] 아파치 톰캣이란?

대부분 자바로 공부를 하면 아파치 톰캣을 서버로 띄워서 작업을 하게된다. 내가 따로 하는 스터디장님이 아파치와 톰캣의 차이를 물어봤는데 명확히 대답을 못해서 따로 정리해둔다. 일단 아파치와 톰캣이 무엇인지 알기 위해선 WEB과 WAS에 대해 알아야한다. WEB Server는 - HTML 처럼 정적인 컨텐츠를 처리하는것이다(빠르다. 정적인 데이터만 처리가능하다) WAS Server는 - php,jsp등 개발언어를 읽고 동적 컨텐츠를 처리하는것 ( WEB서버보단 느리다) 아파치 는 - WEB Server 이고, (정적) 톰캣은 - WAS Server 이다. (동적) 아파치는 동적인 데이터를 처리하지 못하기때문에 jsp를 받아, 톰캣에서 처리하고 다시아파치로 넘겨준다 위 사진을 보면 Web Server는 알겠..

WEB 2021.03.03

[Spring] 36 어노테이션을 이용하는 스프링 시큐리티 설정

스프링 시큐리티 역시 다른기능들처럼 어노테이션을 이용해서 필요한 설정을 추가할수 있다. 사용되는 어노테이션은 주로 @Secured - 스프링 시큐리티 초기부터 사용되었고, () 안에 'ROLE_ADMIN'과 같은 문자열 혹은 문자배열을 이용한다 @PreAuthorize,@PostAuthorize - 3버전부터 지원되며, () 안에 표현식을 사용할수 있으므로 최근에 많이사용 예제를 위해 컨트롤러에 추가해본다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @PreAuthorize("hasAnyRole('ROLE_ADMIN','ROLE_MEMBER')") @GetMapping("/annoMember") public void domember2() { log.info("로그인 어노테이션 멤버")..

[Spring] 35 자동 로그인(remember-me)

한번 로그인을 하면 일정시간동안 다시 로그인을 하지 않아도 되는 기능이 있다(자동로그인or 로그인기억하기) 영어로는 'remember-me' 라고하는데 이 기능은 대부분 쿠키(Cooke)를 이용해 구현한다. 스프링 시큐리티의 경우 'remember-me' 기능을 메모리상에서 처리하거나, DB를 이용하는 형태로 약간의 설정만으로 구현 가능하다. security-context.xml에 태그를 이용해서 구현한다. 아래와 같이 여러 속성값을 지정할수 있다. 주로 사용되는 속성은 아래와 같다 key 쿠키에 사용되는 값을 암호화 하기 위한 키(Key)값 data-source-ref DataSource를 지정하고 테이블을 이용해서 기존 로그인 정보를 기록(옵션) remember-me-cookie 브라우저에 보관되는 ..

[Spring] 34 스프링 시큐리티를 JSP에서 사용하기

JDBC와 약간의 쿼리를 이용하는것만으로도 DB를 이용해 시큐리티를 사용할수 있음에도 불구하고, 굳이 CustomUserDetailsService와 같이 별도의 인증/권한 체크를 하느 가장 큰이유는 JSP 에서 단순히 사용자의 아이디(시큐리티에서는 username)정도가 아닌, 사용자의 이름이나 이메일과 같은 추가적인 정보를 이용하기 위해서이다!!!! pom.xml 에서 시큐리티를 이용할떄 사용하는 태그라이브러리를 추가해둿으므로 JSP 에서 이를 활용하는 방법에대해 알아본다. JSP에서 로그인한 사용자 정보 보여주기 /sample/admin 과 같은 경로는 로그인한 사용자만 접근할수 있고, 만일 권한이 적당하지않으면 볼수없는 페이지므로 , 로그인한 사용자가 접근 했을떄에는 해당 사용자의 여러정보를 보여줄..

[Oracle] 서브쿼리 종류

서브쿼리는 메인쿼리 안에 있는 또 다른 SELECT문장을 말한다 서브쿼리는 SELECT 절에 사용되어 특정 값을 반환 할수도 있고, FROM절에 사용되어 마치 테이블 처럼 사용 할수 있다. 또한, WHERE 절에서 조건값을 비교하는데 사용됨 1) SELECT 절에 사용되는 서브 쿼리는 스칼라 서브쿼리 이다 (SELECT 절에서 마치 컬럼이나 표현식처럼 사용된다.) - 단 하나의 컬럼이나 표현식만 사용가능, 반환되는 로우수도 반드시 1개만 2)메인커리의 FROM 절에서 사용하는 쿼리는 인라인 뷰 이다(보통 나같은경우 페이징처리에서 사용했다) - FROM 절에서 인라인 뷰 자체가 하나의 테이블 처럼 사용되는것이다. ( 여러개의 컬럼이나 표현식 여러개 반환가능) 3)마지막 서브쿼리는 중첩 서브쿼리로 WHERE..

데이터베이스 2021.02.25

[Oracle] PK와 FK의 제약조건

테이블 생성시, 제약조건을 걸어 줄수 있는데, 난 게시판을 만들던도중, 댓글 기능을 구현했는데, 게시글이 삭제되도, 댓글이 DB에 남아있는 현상이 있어 FK 제약조건걸어줄때 ON DELETE CASCADE를 걸어서 ,게시글이 삭제될때 댓글이 삭제되게 해줌 12ALTER TABLE tbl_reply ADD CONSTRAINTS fk_reply foreign KEY (bno) REFERENCES tbl_board(bno) ON DELETE CASCADE; --게시물 삭제시 , 댓글같이삭제 Colored by Color Scriptercs

json 데이터 배열로 서버단에서 로직처리하기,

간단하게 VO클래스에 추가로 list타입에 변수를 선언해두고, @RequestBody를 VO 에담으면 list 타입에 처리된다. VO클래스에 선언된 list타입 변수명과 json 보내줄떄의 리스트명은 동일해야 쌓인다 vo클래스에 선언된 list타입 변수명에 매핑됨 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 package com.stock.project; import java.util.ArrayList; import org.springframework.bea..

카테고리 없음 2021.02.22