초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) chap11에서는 앞전에 간략하게 배운 ^^.. 스프링 MVC를 이용해서 본격적이지만 아주 간단한 회원 가입 예제를 만들 예정이다. @RequestMapping, 요청 파라미터 접근, 리다이렉트 등을 이용한 가장 기본적인 컨트롤러와 뷰 구현방법을 배우도록 하자. 책에 나와있는 순서대로 복습하면서 정리하는데 chap11이 길어서 나눠서 글을 올린다. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap11 프로젝트 폴더 생성 프로젝트(sp5-chap11) 하위 폴더로 아래 폴더 생성 - src/main/java - src/main/java/webapp - src/main/java/web..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 스프링 MVC 프레임워크 동작 방식 1. 그림 10.1과 같이 요청 전송이 들어오면 DispatcherSerblet은 해당 요청을 처리하기 위한 컨트롤러 객체를 검색한다. → DispatcherSerblet가 직접 컨트롤러에 접근하는 게 아니라 스프링 빈 객체에게 검색 요청을 하는 것 2. HandlerMapping은 클라이언트 요청 경로를 이용해 처리할 컨트롤러 빈 객체를 DispatcherSerblet에 전달한다. (만약 요청 경로가 /hello이면 등록된 빈 중에서 '/hello' 요청 경로를 처리할 컨트롤러를 리턴한다) 3. DispatcherSerblet는 HandlerMapping이 ..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 스프링 MVC 스프링 프레임워크가 제공하는 기능 중 MVC 기능은 웹 요청을 처리하기 위해 다양한 구성 요소를 연동한다. 이번 챕터의 목표는 최소한의 스프링 MVC 설정과 컨트롤러 구현, 이 컨트롤러 처리 결과를 보여줄 뷰 코트를 구현하면서 어떻게 동작하는지 알아보는 것이다 😮 스프링 MVC 동작 방식은 다음 챕터에서 자세히(?) 알아보자. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap09 프로젝트 폴더 생성 프로젝트(sp5-chap09) 하위 폴더로 아래 폴더 생성 - src/main/java - src/main/java/webapp - src/main/java/webapp/..
아파치 톰캣 ←공식 사이트 23.01.25 기준 톰캣 8.5.85 버전이 릴리즈됬다. 하단의 다운로드 클릭 아래 32-bit/64-bit Windows Service Installer 클릭 설치 프로그램을 실행하면 다음과같은 초기설정에서 Next > 클릭 ※ Manager는 사용하지 않을 것 같아 설치하지 않았다. 다음 설정 시 연결 Port 설정이 자동으로 8080으로 되어있는데 8090으로 변경해주었다. → 톰캣 외의 다른 프로그램에서 8080 포트를 이미 사용하고있어 동일하게 설정 시 포트가 충돌될 수 있기 때문에 변경해주었다. 이클립스의 [Windows] → [Preferences] → [Server] → [Runtime Environments] → [Add] 다음 창에서 [Apache] 디렉토리..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 트랜잭션 (Transaction) 두 개 이상의 쿼리를 한 작업으로 실행해야 할 때 사용하는 것 여러 쿼리를 논리적으로 하나의 작업으로 묶어준다. 한 트랜잭션으로 묶인 쿼리 중 하나라도 실패하면 전체 쿼리를 실패로 간주하고 실패 이전에 실행된 쿼리를 취소한다. 트랜잭션도 공통 기능 중 하나로 프록시를 통해 이루어진다. ※ 프록시 : 핵심 기능의 실행은 다른 객체에 위임하고 부가적인 기능을 제공하는 객체 트렌잭션으로 묶인 모든 쿼리가 성공해서 쿼리 결과를 DB에 실제 반영하는 것을 커밋(commit)이라고 한다. 쿼리 실행 결과를 취소하고 DB를 기존 상태로 되돌리는 것을 롤백(roll back)..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) jdbcTemplate 스프링을 사용하면 DataSource나 Connetion, Statemnt, ResultSet을 직접 사용하지 않고 JdbcTemplate을 이용해서 편하게 쿼리를 실행할 수 있다. query() 메서드 jdbcTemplate 클래스는 SETECT 쿼리 실행을 위한 query() 메서드를 제공한다. query() 메서드는 sql 파라미터로 전달받은 쿼리를 실행 → RowMapper를 이용해서 ResultSet의 결과를 자바 객체로 변환 sql 파라미터가 (select * from member where email =?) 인덱스 기반의 파라미터를 가진 쿼리이면 args 파라..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) JAVA에서는 JBDC API를 사용하거나 JPA, MyBatis 같은 기술을 이용해서 DB를 연동처리한다고 한다. 이 책(초보.. 스프링 5 입문)에서는 JBDC를 위해 스프링이 제공하는 JdbcTemplate사용법에 대해 설명하고 있다. 사전에 DB 연동에 대해 알고 있지 않았기 때문에 JBDC에 대해 너무 잘 설명해 놓은 블로그가 있어서 보면서 공부하고 있다. JBDC Java DataBase Connectivity 약자 (자바 데이터베이스 연결) DB에 연결해서 select, insert, update, delete 작업을 한다. 스프링이 제공하는 또 다른 장점 트랜잭션 관리가 쉽다는 것..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) AOP Aspect Oriented Programming의 약자 (관점 지향 프로그래밍) 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법 핵심 기능과 공통 기능의 구현을 분리하여 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어 준다. 기본 개념은 핵심 기능에 공통 기능을 삽입하는 것. 핵심 기능의 코드를 수정하지 않으면서 공통 기능의 구현을 추가하는 것이 AOP 공통 기능을 Aspect라고 함 스프링 AOP는 프록시 객체를 자동으로 만들어준다. 3가지 방법 - 컴파일 시점에 코드에 공통 기능을 삽입하는 법 - 클래스 로딩 시점에 ..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 컨테이너 초기화와 종료 스프링 컨테이너는 초기화 → 종료 라이프 사이클을 갖는다. 1. 컨테이너 초기화 후에 컨테이너를 사용할 수 있다. 2. getBean()과 같은 메서드를 통해 컨테이너에 보관된 빈 객체를 구할 수 있다. 3. 사용이 끝나면 컨테이너를 종료하는데 close() 메서드를 사용하여 종료한다. 또한, 컨테이너의 사이클에 따라 다음 작업도 함께 이루어진다. 컨테이너 초기화 → 빈 객체 생성, 의존 주입, 초기화 컨테이너 종료 → 빈 객체 소멸 public class Main { public static void main(String[] args) { // 1. 컨테이너 초기화 An..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 컴포넌트 스캔 자동 주입과 함께 사용되는 추가기능 스프링이 직접 클래스를 검색하여 빈으로 등록해주는 기능 @Component 애너테이션으로 스캔 대상 지정 @Component 애너테이션은 해당 클래스를 스캔 대상으로 표시하기 때문에 스프링이 클래스를 검색하여 빈으로 등록하게하려면 이 클래스에 @Component 애너테이션을 붙여야한다. @Component 애너테이션에 속성값을 줄 수 있다. 속성값을 주면 그 값을 빈 이름으로 사용한다. import org.springframework.stereotype.Component; // 속성값을 붙이면 빈 이름은 속성값이 빈 이름이다. @Component..
- Total
- Today
- Yesterday
- Django tutorial
- Python
- git 공부
- 커맨드 객체
- Magazine K
- 웹페이지
- path variable
- django
- django.contrib.auth
- 회원 로그인
- 검색 결과 내 페이지네이션
- 환경 변수 설정
- Spring
- 배열
- API
- musma
- 한글 형태소 분석기
- 면접을 위한 CS 전공 지식 노트
- 혼자 공부하는 파이썬
- django-environ
- git공부
- error: failed to push some refs to 'https://github.com/
- python3
- Java
- 회원가입
- git
- authenticate()
- 암호화
- 디자인 패턴
- 톰캣
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |