일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Payload
- Spring MVC
- 네트워크
- Shell code
- 정보보안기사 실기
- Operating System
- hacking
- OS
- 해킹
- Spring
- Lord of BOF
- pwnable
- webhacking.kr
- system hacking
- Buffer Overflow
- 워게임
- webhacking
- BOF
- 정보보안기사
- 정보처리기사 실기
- Pwnable.kr
- wargame
- 운영체제
- 웹해킹
- SQL
- Spring Framework
- stack overflow
- System
- LOB
- PWN
- Today
- Total
목록Spring MVC (13)
DongDD's IT
[Spring] Spring Boot Spring Boot Spring Boot - Spring framework의 프로젝트 중 하나- 특별한 설정 작업 없이 기본 설정만으로 다양한 기능을 구현 가능- Tomcat 내장 서버를 가지고 있어 따로 Tomcat 설정이 불필요 Project 구성(gradle) - Spring boot 생성 시, 다음과 같은 구조가 생성 1. BoottestApplication12345678@SpringBootApplicationpublic class BoottestApplication { public static void main(String[] args) { SpringApplication.run(BoottestApplication.class, args); }}Colored..
Spring MyBatis MyBatis - SQL과 자바 객체를 매핑하기 위해 개발된 DB 접근용 프레임워크- Hibernate, JPA : DB의 record와 객체를 매핑(ORM)- MyBatis : SQL과 객체를 매핑(SQLMapper) 장점 1. SQL 체계적 관리, 선언적 정의- 설정 파일, 어노테이션에 선언적 정의를 하기 때문에 비즈니스 로직에서 SQL을 감출 수 있음- Mapper interface가 SQL을 감추는 역할- Mapper interface를 호출하여 연결된 SQL 실행 2. 자바 객체와 SQL 입출력 값의 투명한 바인딩 3. 동적 SQL 조합 Component - Config : MyBatis 동작 설정을 지정하는 XML 파일- Mapper 인터페이스 : 매핑 파일, 어노테..
[Spring] Spring JPA 2 - Spring Data JPA, Spring Data JPA CRUD Spring Data JPA Spring Data - 데이터에 접근하는 코드를 줄이기 위한 스프링 프로젝트- DDD(Domain-Driven Design, 도메인 주도 설계)에서의 데이터 접근 계층 구성 요소인 Repository 권장- Repository 구현은 데이터와 관련된 아키텍쳐/제품에 따라 다름(각 종류별로 프로젝트가 만들어짐) Spring Data JPA - JPA를 이용해 데이터에 접근하기 위한 라이브러리- Respository 인터페이스를 작성하여 간단하게 Entity를 참조/갱신할 수 있음 JPA Config 12345678910111213141516171819202122232..
[Spring] Spring JPA 1 - JPA, JPA CRUD JPA(Java Persistence API) ORM/JPA - 자바 표준 ORM(Object Relational Mapping) 1. ORM(Object Relational Mapping)- RDB에 데이터를 읽고 쓰는 것과 같이 객체에 데이터를 읽고 쓰는 방식의 기술- 객체지향언어와 객체 지향이 아닌 RDB의 격차를 메워줌- 객체에 접근하기 위한 코드로 DB table에도 접근할 수 있게 해줌 2. JPA(Java Persistence API)- 자바 표준 ORM- Java EE의 구성 요소와 결합도가 낮음123456789@Servicepublic class JpaService { @PersistenceContext private E..
[Spring] Spring Security Spring Security - 어플리케이션에 보안 기능을 구현할 때 사용되는 프레임워크- servlet container에 배포하는 어플리케이션에 활용 기능 1. 인증/인가- 인증 : 사용자의 정당성 확인- 인가 : 사용자의 리소스 접근에 대한 제어 2. 세션 관리- Session을 이용한 공격에 대한 보호와 Session 라이프 사이클 제어 3. CSRF 방지 - CSRF(Cross-Site Request Forgery)로부터 보호 -> 이외에도 여러가지 기능이 많음 설정 1. Dependency 추가12345678910 org.springframework.security spring-security-web 5.1.5.RELEASE org.springfra..
[Spring] Spring Test Spring Test - Spring Framework에서 동작하는 클래스를 테스트하는 모듈 Unit Test - 테스트할 클래스의 구현 내용만 테스트- 사용하는 다른 클래스의 method 등은 Mock 또는 Stub으로 만들어 해당 구현 내용에 영향을 끼치지 않게함 Integration Test - 실제 운영 환경에서 사용될 클래스를 통합하여 테스트- 기능 검증을 위한 것이 아닌 spring framework에서 제대로 동작하는지 검증 Bean Test Dependency 추가 123456789101112131415 junit junit 4.12 org.mockito mockito-core 2.23.4 org.springframework spring-test 5.1..
[Spring] Spring MVC - Session, Async, 공통 처리, Locale HTTP Session - 여러 요청이 같은 데이터를 공유할 수 있어야함 → HTTP session을 이용해 해결할 수 있음- @SessionAttributes, Session Scope, HttpSession API 3가지 방법이 있음 SessionAttributes - @SessionAttributes 사용- HttpSession API를 직접 사용하지 않고 HTTP session에서 관리- 하나의 컨트롤러에서 여러 요청 간 데이터 공유에 효과적 1. Session에서 관리할 대상 객체 지정123456@Controller@RequestMapping("/test1")@SessionAttributes(types ..
[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..