일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Shell code
- 워게임
- 운영체제
- system hacking
- hacking
- Spring
- stack overflow
- webhacking
- wargame
- 정보보안기사 실기
- PWN
- 정보처리기사 실기
- Operating System
- OS
- SQL
- Spring MVC
- Spring Framework
- BOF
- Lord of BOF
- 해킹
- pwnable
- 네트워크
- Pwnable.kr
- webhacking.kr
- LOB
- Payload
- System
- 정보보안기사
- Buffer Overflow
- 웹해킹
- Today
- Total
목록프로그래밍/Spring (17)
DongDD's IT
[Spring] Spring REST REST API - 클라이언트-서버간 데이터를 주고받기 위한 Architecture- 제공할 데이터를 resource로 추출하고 resource에 대한 CRUD를 제공하기 위해 REST API 사용- CRUD : Create, Read, Update, Delete ROA(Resource Oriented Architecture) - RESTful Web 구축을 위한 architecture 정의 1. 리소스 제공- web에서 클라이언트에게 제공할 데이터를 resource로 공개 2. URI를 통한 resource 식별- resource에 uri를 할당해 resource 접근 허용 3. HTTP 메소드를 통한 CRUD- GET : Read- POST : Create- PU..
[Spring] Spring Web Application Web Application 종류 1. 화면으로 응답하는 어플리케이션- jsp 등을 이용해 클라이언트에게 동적 웹 페이지 형태로 응답 2. 데이터로 응답하는 어플리케이션- JSON, xml을 사용해 데이터 형태로 클라이언트에 응답- RESTful API Controller 처리 1. 선언형 처리- method 시그니처를 참조해서 front controller가 하는 일- 요청 매핑, 요청 데이터 취득, 입력값 검증 2. 프로그래밍형 처리- controller 클래스의 method 안에 하는 일- 입력값 검증 확인, 비즈니스 로직 호출, 이동대상 확인/데이터 연계/지정 Controller 작성 1234@Controllerpublic class Tes..
[Spring] Spring MVC Spring MVC - 자바 기반 web application 개발할 때 사용하는 프레임워크- 아키텍쳐 : MVC 패턴 MVC 1. Model, View, Controller 세가지 역할의 컴포넌트로 구성1) Model- 데이터, 비즈니스 로직을 제공하는 컴포넌트2) View- model의 데이터를 참조하고 반환할 응답 데이터를 생성하는 컴포넌트3) Controller- 요청과 응답 처리를 제어하고 model과 view의 호출을 제어 특징 1. POJO 구현- 모델, 컨트롤러 등의 클래스는 POJO로 구현2. Annotation 방식을 정보 설정3. 유연한 method signature 정의- 처리에 필요한 인자들만 받아 처리 가능4. Servlet API 추상화- S..
[Spring] Datasource, Spring JDBC, Transaction Data Source - Application이 database에 접근하기 위한 추상화된 연결 방식 종류 1. Application module이 제공하는 Datasource- 서드파티가 제공하는 datasource나 스프링 프레임워크가 제공하는 datasource 사용- DB 정보를 Application이 관리 2. Application Server가 제공하는 Datasource- JNDI를 이용해 가져와 사용하는 방식- DB 정보를 Server가 관리(Application과 분리)JNDI(Java Naming and Directory Interface) : Java가 제공하는 directory, naming servic..
[Spring] Aspec of Programming(AOP), Resource Aspect Of Programming(AOP) - Logging 기능 등 비즈니스 로직과 별개인 공통 로직은 여러 코드 내에 동일하게 구현됨-> 수정이 필요할 경우, 모두 찾아 고쳐야함- 공통로직(Cross-Cutting Concern - 횡단 관심) - 보안, 로깅, 트랜잭션, 모니터링, 캐싱, 예외처리-> 이러한 로직을 분리하여 구현 하는 것을 AOP라고 함(공통 기능을 외부에서 삽입) AOP 개념 1. Aspect- AOP의 단위(공통 기능)- 로깅, 보안, 캐싱 등 2. Join point- Aspect가 실행될 시점(method 단위)- 특정 method를 뜻함 3. Advice- 특정 join point에서 실행..
[Spring] Dependency Injection(DI) Dependency Injection DI 배경 - 컴포넌트를 생성자에서 직접 생성하는 방식 —> 생성한 클래스를 교체하는 것이 어려움→ 클래스의 결합도가 높음→ 클래스의 결합도를 낮추기 위해 생성자의 인수로 컴포넌트를 넘기고 초기화하는 방식이 있음- 이러한 방식으로 클래스의 결합도를 낮추더라도 변경이 발생하는 경우 재작업을 피할 수 없음→ 외부에서 컴포넌트를 생성하고 내부에서 사용 가능하게 해주는 DI(Injection) 개념 나옴→ DI를 자동으로 처리하는 기반을 DI Container라고 부름 DI 장점 - 의존성 해결- 인스턴스의 scope 관리- AOP 기능 추가 IoC(Inversion of Control) - 인스턴스 관리를 DI ..
[Spring] Spring Framework Spring Framework Spring MVC - Web Application 개발을 위한 Framework- POJO(Plain Old Java Object) 형태로 구현- Annotation 기반 설정- Servlet API 추상화- Spring DI Container와 연계 1. Third-Party Library1) Jackson : JSON 처리2) Apache Tiles, Freemarker : 템플릿 엔진3) Rome : RSS, Feed 처리4) JasperReports : Repoter 출력5) Joda-Time : 날짜, 시간 정보 처리 2. Action 기반 framework(Spring MVC, Struts)- 요청 -> action..