자바 웹 개발 워크북
도서명:자바 웹 개발 워크북
저자/출판사:구멍가게,코딩단/프리렉
쪽수:936쪽
출판일:2022-08-04
ISBN:9788965403340
목차
저자서문
들어가며
1장 웹 프로그래밍의 시작
_1.1 자바 웹 개발 환경 만들기
__웹 프로젝트의 기본구조
__인텔리제이를 이용한 프로젝트 생성
__톰캣(Tomcat) 설정과 웹 프로젝트 생성
_1.2 웹 기본 동작 방식 이해하기
__Request(요청) / Response (응답)
__JSP를 이용해서 GET/POST 처리하기
_1.3 Web MVC 방식
__MVC 구조와 서블릿/JSP
__실습_1 컨트롤러에서 뷰(View)호출
__실습_1 POST 방식을 통한 처리 요청
__실습_03 sendRedirect( )
__PRG 패턴(Post-Redirect-GET)
_1.4 HttpServlet 60
__HttpServletRequest의 주요 기능
__HttpServletResponse의 주요 기능
__실습_01 와이어 프레임의 구현
__실습_02 TodoListController구현
__실습_03 TodoReigsterController의 구현
_1.5 모델(Model) 74
__모델과 3티어
__실습_04 TodoService 클래스
__컨트롤러에서 모델 처리하기
__실습_05 TodoListController의 처리
__JSP - EL(Expression Language)
__JSTL
__실습_06 Todo 조회
2장 웹과 데이터베이스
_2.1 JDBC 프로그래밍 준비
__MariaDB의 설치와 생성
__프로젝트 생성과 MariaDB 준비
__실습_01 테스트 프로그램 작성하기
__실습_02 데이터베이스 테이블 생성
__실습_03 데이터 insert
__실습_04 데이터 select
__실습_05 데이터 update
__실습_06 데이터 delete
_2.2 프로젝트 내 JDBC 구현
__Lombok 라이브러리
__실습_01 TodoVO 클래스의 작성
__HikariCP의 설정
__실습_02 Connection Pool 이용하기
__실습_03 TodoDAO의 등록 기능 구현하기
__실습_04 TodoDAO의 목록 기능 구현하기
__실습_05 TodoDAO의 조회 기능 구현하기
__실습_06 TodoDAO의 삭제/수정 기능 구현하기
_2.3 웹 MVC와 JDBC의 결합
__ModelMapper 라이브러리
__실습_07 TodoService와 ModelMapper 테스트
__Log4j2와 @Log4j2
__컨트롤러와 서비스 객체의 연동
__실습_08 등록 기능 구현
__실습_09 조회 기능 구현
__실습_10 수정/삭제 기능 구현
3장 세션/쿠키/필터/리스너
_3.1 세션과 필터
__무상태에서 과거를 기억하는 법
__서블릿 컨텍스트와 세션 저장소
__세션을 이용하는 로그인 체크
__실습_01 등록할 때, 로그인 체크 하기
__실습_02 로그인 처리 컨트롤러 작성하기
__필터를 이용한 로그인 체크
__실습_03 로그인 체크 구현
__실습_04 UTF-8 처리 필터
__세션을 이용하는 로그아웃 처리
__데이터베이스에서 회원 정보 이용하기
__실습_05 자바에서 회원 데이터 처리하기
__실습_06 컨트롤러에서 로그인 연동
_3.2 사용자 정의 쿠키(Cookie)
__쿠키의 생성/전송
__실습_07 조회한 Todo 확인하기
__쿠키와 세션을 같이 활용하기
__실습_08 자동 로그인 처리
_3.3 리스너(Listener)
__리스너의 개념과 용도
__실습_09 ServletContextListener
__실습_10 세션 관련 리스너
4장 스프링과 스프링 Web MVC
_4.1 의존성 주입과 스프링
__스프링의 시작
__실습_01 의존성 주입하기
__ApplicationContext와 빈(Bean)
__실습_02 SampleDAO 주입하기
__실습_03 @Service,@Repository
__인터페이스를 이용한 느슨한 결합
__실습_04 SampleDAO를 인터페이스로 변경하기
__웹 프로젝트를 위한 스프링 준비
__실습_05 DataSource 구성하기
_4.2 MyBatis와 스프링 연동
__MyBatis 소개
__실습_01 Mapper 인터페이스 활용하기
__실습_02 XML로 SQL분리하기
_4.3 스프링 Web MVC 기초
__스프링 Web MVC의 특징
__실습_01 스프링 MVC 사용하기
__실습_02 스프링 MVC 컨트롤러
__파라미터 자동 수집과 변환
__실습_03 단순 파라미터의 자동 수집
__스프링 MVC의 예외 처리
_4.4 스프링 Web MVC 구현하기
__프로젝트의 구현 목표와 준비
__화면 디자인 - 부트스트랩 적용
__MyBatis와 스프링을 이용한 영속 처리
__Todo 기능 개발
__페이징 처리를 위한 TodoMapper
__목록 데이터를 위한 DTO와 서비스 계층
__검색/필터링 조건의 정의
__검색 조건을 위한 화면 처리
5장 스프링에서 스프링 부트로
_5.1 스프링 부트 소개
__기존 개발에서 달라지는 점들
__Spring Initializr를 이용한 프로젝트 생성
__스프링 부트에서 웹 개발
_5.2 Thymeleaf
__Thymeleaf 기초 문법
__Thymeleaf의 특별한 기능들
_5.3 Spring Data JPA
__프로그램 개발 목표
__Board 엔티티와 JpaRepository
__Querydsl을 이용한 동적 쿼리 처리
_5.4 게시물 관리 완성하기
__서비스 계층과 DTO의 구현
__컨트롤러와 화면 처리
6장 AJAX와 JSON
_6.1 REST 방식의 서비스
__Ajax와 REST 방식의 이해
__REST 방식의 댓글 처리 준비
_6.2 다대일Many ToOne 연관관계 실습
__연관관계를 결정하는 방법
__다대일 연관 관계의 구현
__댓글 서비스 계층의 구현
__컨트롤러 계층 구현
_6.3 댓글의 자바스크립트 처리
__비동기 처리와 Axios
__Axios를 위한 준비
__댓글 처리와 자바스크립트
7장 파일 업로드 처리
_7.1 첨부파일과 @OneToMany
__파일 업로드를 위한 설정
_7.2 @OneToMany
__@OneToMany 적용
__영속성의 전이(cascade)
__Lazy로딩과 @EntityGraph
__게시물과 첨부파일 수정
__게시물과 첨부파일 삭제
__‘N+1’ 문제와 @BatchSize
__서비스 계층과 DTO
_7.3 컨트롤러와 화면 처리
__게시물과 첨부파일 등록 처리
__게시물 목록과 첨부파일 처리
__게시물 조회와 첨부파일
__게시물 수정과 삭제
8장 스프링 시큐리티
_8.1 스프링 시큐리티 적용하기
__스프링 시큐리티 기본 설정
__화면에서 인증 처리하기와 컨트롤러
_8.2 회원 데이터 처리
__회원 도메인과 Repository
__회원 서비스와 DTO처리
__회원 가입 처리
_8.3 소셜 로그인 처리
__프로젝트를 위한 설정
9장 API 서버와 JWT
_9.1 JWT 인증
__API 서버
__인증을 위한 프로젝트 구성
__토큰 인증을 위한 시큐리티 필터
__Access Token 발행
__Access Token 검증 필터
__Refresh Token 처리
__브라우저에서 JWT 확인
__Ajax와 CORS 설정
__Todo API 서비스
__JWT와 @PreAuthorize
10장 스프링 부트를 AWS에서
_10.1 자바 웹 개발 환경 만들기
__EC2 생성과 접속
__Putty를 이용한 터미널 연결
__프로젝트 실행 확인
_10.2 AWS의 RDS 서비스
__RDS 서비스 구성
__RDS에 새 계정 추가
__EC2와 RDS 연동 확인
_10.3 AWS의 S3 서비스
__S3 서비스 구성
__프로그램을 통한 S3 업로드 확인