JSP: 1701
4주
신림
입문
x 5
### 주제
+ 프론트엔드 웹 기술 스터디
### 목표
+ 웹 서비스의 구조와 원리 이해
+ 나만의 블로그 페이지 만들기
### 커리큘럼
+ 웹 서비스 개론
+ HTML
+ CSS
+ Bootstrap
+ JSP
### 대상
+ 웹 개발 입문자
+ 자바에 대한 기초지식이 있는사람
### 시간 및 장소
+ 매주 월, 목 2시간씩, 총 4주
+ 신림역 2호선 통스토리

### 비용
+ 10만원(스터디룸 비용 별도)
### 연락처
+ 이메일: [email protected]
+ 카 톡: chaesam
### 파일 공유
+ https://www.dropbox.com/sh/snwbgeyarv91tr9/AAAoAdTgoHjqLQPIaC8F0AZJa?dl=0
# 웹 서비스의 동작원리
## 문제
웹 서비스의 동작원리를 아래 키워드를 사용하여 설명해주세요.
+ 서버와 클라이언트
+ 요청과 응답

## 힌트
해당 키워드들을 구글링 해볼 것.
# 웹 개발자의 직군
## 문제
아래 기재된 웹 개발자의 직군에 대해 설명하시오.
+ 프론트엔드(front-end) 개발자
+ 백엔드(back-end) 개발자
+ 데이터베이스관리자(DBA)
## 힌트
해당 키워드들을 구글링 해볼 것.
# 정적 페이지와 동적 페이지
## 문제
정적 페이지와 동적 페이지를 비교하여 설명해주세요.
## 힌트
+ 구글링
# HTML 개요
## 문제
HTML이란 무엇인지 설명해주세요.
## 힌트
+ 구글링
+ http://cloudstudying.kr/lectures/41
# JSP 개요
## 문제
JSP가 무엇인지 설명해주세요.
## 힌트
+ 구글링
+ http://cloudstudying.kr/lectures/56
# 자기소개하기
## 문제
자기소개 페이지를 작성해주세요.
## 예시

## 힌트
위 예시를 작성하기 위해서는 아래의 태그들이 필요함. 구글링 할 것.
+ h 태그
+ p 태그
+ img 태그
+ a 태그
+ ol 태그
+ ul 태그
+ li 태그
## 레퍼런스
+ http://cloudstudying.kr/lectures/42
# 스터디 멤버 표 만들기
## 문제
table 태그를 사용하여 스터디원들의 정보를 표로 만들어 주세요.
## 예시

## 힌트
예시를 구현하기 위해서는 아래의 태그들이 필요함. 구글링 할 것.
+ h 태그
+ p 태그
+ a 태그
+ table 태그
+ tr 태그
+ th 태그
+ td 태그
## 레퍼런스
+ http://cloudstudying.kr/lectures/43
# CSS 개요
## 문제
HTML과 CSS의 관계를 설명해주세요. (기존의 HTML에서 CSS가 왜 필요하게 되었는가를 중점으로..)
## 힌트
+ 구글링
## 레퍼런스
+ http://cloudstudying.kr/lectures/69
# CSS 선택자
## 문제
CSS 선택자(selector)란 무엇이고 어떠한 문법구조를 가지는지 조사해주세요.
## 힌트
+ 구글링
## 레퍼런스
+ http://cloudstudying.kr/lectures/69#css-syntax
# id 와 class 선택자
## 문제
**id 선택자**와 **class 선택자**를 사용하여 HTML문서를 꾸미는 방법에 대해 조사해주세요.
## 힌트
+ HTML: id 속성, class 속성
+ CSS: id 선택자, class 선택자
## 레퍼런스
+ http://cloudstudying.kr/lectures/71
# bootstrap 적용하기
## 문제
bootstrap을 적용하여 아래 페이지를 작성해주세요.
## 예시

## 레퍼런스
+ http://getbootstrap.com/getting-started/#template
+ http://getbootstrap.com/components/#jumbotron
+ http://getbootstrap.com/components/#page-header
+ http://getbootstrap.com/css/#buttons
+ http://getbootstrap.com/css/#tables
# JSP 동작원리
## 문제
JSP의 동작원리를 조사해주세요. (정적인 페이지를 동적인 페이지로 변환하는 과정에 대해)
## 레퍼런스
+ http://cloudstudying.kr/lectures/58
# JSP 태그
## 문제
JSP태그란 무엇이며 어떻게 사용하는지 조사해주세요.
## 힌트
+ 구글링: JSP 태그
## 레퍼런스
+ http://cloudstudying.kr/lectures/58
+ http://cloudstudying.kr/lectures/59
# JSP 내부객체
## 문제
JSP 내부객체란 무엇이며 어떠한 종류가 있는지 조사해주세요. 특히 request와 response 객체에 관하여는 어떻게 활용하는지에 대해서도 알아봐주세요.
## 힌트: 구글링
+ JSP 내부객체
+ JSP request 객체
+ JSP response 객체
## 레퍼런스
+ http://cloudstudying.kr/lectures/58#jsp-inner-instance
+ http://cloudstudying.kr/lectures/60
# 헬로 JSP
## 문제
JSP 개발환경을 셋팅 후, 첫 JSP 페이지를 만들어 주세요.
## 개발환경 설정
+ JDK 설치
+ 환경변수 설정
+ 이클립스 설치
+ 톰캣 다운로드
+ 이클립스 톰캣 연동
## JSP 예제 페이지

## 레퍼런스
+ http://cloudstudying.kr/lectures/57
# request 객체
## 문제
request 객체의 API를 사용하여 아래와 같은 페이지를 만들어주세요

## 힌트
+ 구글링: jsp request 객체
## API
+ https://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/HttpServletRequest.html
## 레퍼런스
+ http://cloudstudying.kr/lectures/60
# HTML 폼(form) 태그
## 문제
HTML 폼 태그에 대해 조사해주세요.
## 힌트
+ 구글링: html 폼 태그
## 레퍼런스
+ http://cloudstudying.kr/lectures/72
# HTTP 프로토콜
HTTP 프로토콜중 GET과 POST 방식에 대해 조사해주세요.
## 힌트
+ 구글링: http 프로토콜 get post
## 레퍼런스
+ http://cloudstudying.kr/lectures/72
# 쿼리 스트링(query string)
## 문제
쿼리스트링에 대해 조사해주세요.
## 힌트
+ 구글링: JSP 쿼리 스트링
## 레퍼런스
+ https://en.wikipedia.org/wiki/Query_string#URL_encoding
# 로그인 폼(form)
## 문제
예시와 같이 동작하는 로그인 폼을 만들어 주세요.
## 예시
![로그인UI설계][1]
## 레퍼런스
+ http://getbootstrap.com/css/#forms
+ http://cloudstudying.kr/lectures/72
[1]: https://www.dropbox.com/s/qdvn5knii5x5iek/0501.jpg?dl=1
# 로그인 / 로그아웃
## 문제
예시와 동작흐름을 참고로 로그인 / 로그아웃 페이지를 만드세요.
## 동작흐름
![동작원리][1]
## 예시
**로그인**
![로그인][2]
**로그아웃**
![로그아웃][3]
**로그인 실패**
![로그인 실패][4]
## 레퍼런스
+ http://cloudstudying.kr/lectures/73
[1]: https://www.dropbox.com/s/xrfds38f655xjyu/0601.jpg?dl=1
[2]: https://www.dropbox.com/s/51p3w1ifaqg29a6/0603.png?dl=1
[3]: https://www.dropbox.com/s/0tlpdlwttxm0tuo/0605.png?dl=1
[4]: https://www.dropbox.com/s/f2xmdcfmwi6h1v1/0604.png?dl=1
# 무상태 프로토콜
## 문제
무상태 프로토콜에 대해 조사해주세요.
## 힌트
+ 구글링: 무상태 프로토콜
## 레퍼런스
+ https://goo.gl/LqBtgY
# 쿠키와 세션
## 문제
쿠키와 세선이 무엇이고, 왜 필요한지에 대해 설명해주세요.
## 힌트
+ 구글링: 쿠키와 세션
## 레퍼런스
+ http://cloudstudying.kr/lectures/76
# DBMS
## 문제
DBMS란 무엇이고 어떠한 종류가 있는지 조사해주세요.
## 힌트
+ 구글링: DBMS 종류
# 세션과 로그인/로그아웃
## 문제
세션을 통한 로그인/로그아웃 페이지를 설계해봅시다. 시나리오는 다음과 같습니다.

1. 로그인 화면을 통해 데이터를 전달하여 인증을 시도합니다.
2. 인증을 성공하면 성공의 결과물로 세션값(인증키)을 등록하고 웰컴페이지로 이동합니다.
+ welcome 페이지는 인증키가 있는 사용자만 볼 수 있도록 하여 보안을 강화합니다.
3. 로그아웃을 하면 모든 세션데이터를 삭제(무효화)하고 로그인 페이지로 이동하게 됩니다.
## 화면 예

## 힌트
+ 내부객체와 API를 잘 사용할 것.
- request
- response
- session
## 레퍼런스
+ http://cloudstudying.kr/lectures/73
+ http://cloudstudying.kr/lectures/82
# 스프링 프레임워크
## 문제
스프링 프레임워크를 이용한 개발환경을 만들어주세요.
## 레퍼런스
+ http://cloudstudying.kr/lectures/111
# MVC 패턴
## 문제
MVC 패턴에 대해 조사해주세요.
## 힌트
+ 구글링: MVC 패턴
# 헬로 스프링
## 문제
스프링 프레임워크를 이용하여 홈페이지의 첫 페이지를 아래 예제와 같이 만들어주세요
## 실행 예

## 레퍼런스
+ http://cloudstudying.kr/lectures/111
# 데이터베이스 연동
## 문제
스프링 프레임워크와 데이터베이스를 연동시켜주세요
## 레퍼런스
+ http://cloudstudying.kr/lectures/117
# 부트스트랩 연동
## 문제
스프링에 부트스트랩을 연동시켜주세요
## 레퍼런스
+ http://cloudstudying.kr/lectures/119