일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NestedFor
- 추상메서드
- exception
- abstract
- oracle
- 정수형타입
- 오라클
- 컬렉션 타입
- 집합_SET
- 환경설정
- 제네릭
- 메소드오버로딩
- 참조형변수
- EnhancedFor
- Java
- 사용자예외클래스생성
- cursor문
- 인터페이스
- GRANT VIEW
- 대덕인재개발원
- 자바
- 자동차수리시스템
- 생성자오버로드
- 예외처리
- 한국건설관리시스템
- 객체 비교
- 다형성
- 컬렉션프레임워크
- 어윈 사용법
- 예외미루기
- Today
- Total
목록대덕인재개발원_웹기반 애플리케이션 (73)
거니의 velog
package kr.or.ddit.controller; public class SecurityController { /* * [ 18장 : 스프링 시큐리티 ] * * 1. 스프링 시큐리티 소개 * * - 애플리케이션에서 보안 기능을 구현하는데 사용되는 프레임워크이다. * - 스프링 시큐리티는 필터 기반으로 동작하기 때문에 스프링 MVC와 분리되어 동작한다. * * # 기본 보안 기능 * - 인증 (Authentocation) * > 애플리케이션 사용자의 정당성을 확인한다. * * - 인가 (Authorization) * > 애플리케이션의 리소스나 처리에 대한 접근을 제어한다. * * # 시큐리티 제공 기능 * - 세션 관리 * - 로그인 처리 * - CSRF 토큰 처리 * - 암호화 처리 * - 자동 로..
package kr.or.ddit.controller; public class SecurityController { /* * [ 18장 : 스프링 시큐리티 ] * * 1. 스프링 시큐리티 소개 * * - 애플리케이션에서 보안 기능을 구현하는데 사용되는 프레임워크이다. * - 스프링 시큐리티는 필터 기반으로 동작하기 때문에 스프링 MVC와 분리되어 동작한다. * * # 기본 보안 기능 * - 인증 (Authentocation) * > 애플리케이션 사용자의 정당성을 확인한다. * * - 인가 (Authorization) * > 애플리케이션의 리소스나 처리에 대한 접근을 제어한다. * * # 시큐리티 제공 기능 * - 세션 관리 * - 로그인 처리 * - CSRF 토큰 처리 * - 암호화 처리 * - 자동 로..
[pom.xml] 4.0.0 kr.or ddit SecurityTest war 1.0.0-BUILD-SNAPSHOT 1.8 5.3.25 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.aspectj aspectjrt ${org.aspectj-version} org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} runtime org.sl..
* 인터셉트(intercept) - 클라이언트에서 서버로 요청을 보낼 때, DispatcherServlet이 맨 먼저 받는다. 각각의 핸들러, 리퀘스트 매핑 정보 등을 조합하여 응답에 대한 뷰를 만들어서 디스패처가 내보낸다. - 여기서, 필터라고 하는 녀석을 이용해서 인코딩 설정, 로그 기록, 세션 관리 등을 진행했다. - 문제 : 클라이언트와 서버 라고 하는 전반적인 영역 안에서 필터의 위치가 어딜까? - 필터가 스프링 자원을 가용하기 위한 옵션 설정이 매우 어렵다. 그래서 AOP라는 녀석을 활용했다. - 서비스 타겟 실행 이전에 AOP가 실행. 중간에 프록시가 동작. 위치는 어디? 서버 안에 타겟이 들어 있다. 그래서 스프링 자원을 충분히 가용 가능. - 단, AOP는 대규모 시스템에서는 사용이 가능..
package kr.or.ddit.controller.exception; public class ExceptionController { /* * [ 16장 : 예외처리 ] * * 1. 예외처리 * * 일반적으로 프로그램이 처리되는 동안 특정한 문제가 일어났을 때, 처리를 중단하고 다른 처리를 하는 것을 예외처리라고 한다. * 웹 컨테이너는 기본적으로 예외처리를 하여 기본 에러 페이지를 표시해준다. * 하지만, 페이지에 애플리케이션 서버의 내부 정보가 일반 사용자들에게 노출되어 프레임워크의 보안 취약점을 노린 공격을 * 받을 수 있다. 이런 점을 고려하여 최대한 사용자가 직접 예외를 처리하여 사용자가 정의한 에러 페이지를 표시하게 해야 한다. * * 1-1) 예외 종류 * - 스프링 프레임워크 예외 * -..
package kr.or.ddit.controller.transaction; public class TransactionController { /* * [ 15장. 트랜잭션 ] * * 1. 트랜잭션 설명 * * - 한 번에 이루어지는 작업의 단위를 의미한다. * * # 트랜잭션 성격(ACID 원칙) * * - 원자성(Actomicity) * > 하나의 트랜잭션은 모두 하나의 단위로 처리되어야 한다. * - 일관성(Consistency) * > 트랜잭션이 성공했다면 모든 데이터는 일관성을 유지해야 한다. * - 격리성(Isolation) * > 트랜잭션으로 처리되는 동안에는 외부에서의 간섭이 없어야 한다. * - 영속성(Durability) * > 트랜잭션이 성공적으로 처리되면 그 결과는 영속적으로 보관되..
* AOP 1. 로깅 2. 보안 3. 트랜잭션 4. 에러 * 이 4가지 중에 제일 첫 번째 로깅처리를 할 것이고, 보안은 스프링 시큐리티 이용, 트랜잭션도 AOP 기반. 이를 활성화해야 돌아감. 마지막 에러의 예외처리는 web.xml, 어노테이션, try-catch로 진행해 볼 것. * AOP를 보면 정말 많이 나오는 예시가 처리속도. 예를 들어 취업해서 회사 들어가 첫 업무가 본인이 맡게 될 프로젝트의 처리속도를 확인해 달라고 요청함. 메소드를 만들어서 테스트 완료 후 팀장님께 간다. 흔쾌히 피드백. 우리 플랫폼에 모든 처리속도를 확인해 달라고 하면? 약 20억개 메소드. 오늘 안에 다 끝내야 하는 업무라면? 하나하나씩 다 열어서 처리 속도를 다 만들어 내야 한다. * 모든 서비스를 열어서 모듈 마다 ..
아이디찾기 아이디 찾기는 이메일, 이름을 입력하여 찾을 수 있습니다. 회원님의 아이디는 [] 입니다. 아이디찾기 비밀번호찾기 비밀번호 찾기는 아이디, 이메일, 이름을 입력하여 찾을 수 있습니다. 회원님의 비밀번호는 [] 입니다. 비밀번호찾기 MAIN MENU 로그인 package kr.or.ddit.controller.crud.notice; import java.util.Map; import javax.inject.Inject; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.spr..
아이디&비밀번호 찾기 회원가입 package kr.or.ddit.controller.crud.notice; import java.util.HashMap; import java.util.Map; import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Co..
[noticeBoard_SQL.xml] and (bo_title like '%' || #{searchWord} || '%') and (bo_writer like '%' || #{searchWord} || '%') select count(bo_no) from notice where 1=1 select b.* from ( select a.*, row_number() over (order by a.bo_no desc) rnum from ( select bo_no, bo_title, bo_content, bo_writer, bo_date, bo_hit from notice where 1=1 order by bo_no desc ) a ) b = #{startRow} and b.rnum select seq_noti..