# 백엔드 과목평가
// 박지현 / 이연주 / 조의상
## 서블릿
- 서블릿 url mapping
박지현

Servlet은 주소(url)로 접근이 불가하다.이에 가상 url을 사용한다.
설정 방법은 두 가지로,
1. DD파일에 명시한다.
2. 서블릿 파일에 annotation을 명시한다.(@WebServlet"/list.do")

## 서블릿 라이프 사이클
- 서블릿 라이프사이클, 호출 순서,
- 뭐가 한번, 뭐가 여러번 doGet/doPost /// init/service
이연주

## request
조의상
- 사용자 주소 얻기 getRemoteAddr()
- ip얻어오는 api 어떻게하는지 둘러보기
- 로칼에서는 127.0.0.1
## jsp 스크립트 요소
- 선언문 <%! %>
- 속성, 메서드 선언
- 스크립트릿 <% %>
- 서비스 메서드의 바디로 들어감
- expression <%= %>
- 출력 코드, 서비스 메서드 바디에 들어감
- 주석 <%- - - -%>
## 지시자
박지현
- <%@ 지시문 %>
- page, include, taglib
- page : jsp 환경설정, jsp 컨테이너에게 현재 jsp페이지를 어떻게 처리할 것인가에 대한 정보를 제공한다.
- contentType
- import
- isErrorPage
- include: txt, html, jsp 페이지들을 include. 주로 반복되는 영역을 jsp파일로 만든 후 include 하면 반복된느 코드를 줄일 수 있다.
- <jsp:include>
- <c:import>
- taglib : 사용자 정의 태그 등록. jstl혹은 사용자에 의해서 만들어진 커스텀 태그를 이용할 때 사용 된다.jsp페이지 내의 불필요한 자바 코드를 줄일 수 있다.
- <%@ taglib prefix="구별자" uri="xml 을 구분하기 위한 스키마나 dtd의 경로" %>
- uri속성이 url임을 주의해야 한다.
## 세션과 쿠키 차이
이연주
- 쿠키
- 웹브라우저 메모리에 저장
- txt 형태
- 한 url에서 최대 10개까지 저장 가능
- jsessionid
- 세션
- 서버 메모리에 저장
- 쿠키
- 양수
- 세션 쿠키
- 0
- 음수
- 브라우저 시작해서 종료할 때까지 살아있음
- 직접 만료하려면
- invalidate
- set...
## JSP 내장 객체
조의상
- request
- pageContext
- session
- application
- config
- out
- exception: isErrPage true 해야 사용할 수 있다.
getParameter(String name) vs getParameterNames(__)
## 웹페이지 이동 방법
박지현
sendRedirect vs forward
장단점, 차이점
사용방법 이동범위 객체 데이터유지...

## GET vs POST
이연주
## EL
조의상
- 속성값을 빠르게 표현할 수 있다.
- 객체.속성
- 객체[속성]
- 객체['속성']
- 배열 리스트 bean 표현 차이점
- EL내장객체 Scope → 생략할 수 있다.
- 연산자
- empty 에서 true 나오는 경우들
## JSTL
박지현
- taglib선언을 통한 jstl 사용. c, uri (url아님!!)

- JSTL core tag(프리픽스가 c일 때)
- set : jsp에서 사용할 변수 지정
- if : 조건에 따른 코드 실행
- choose, when, otherwise : 다중조건 처리시 사용
- forEach : array나 collection의 각 항목을 처리할 때 사용
- ...

## WebServer 응답코드
이연주
- 200
- 300
- 400
- 401
- 402
- 404 요청한 url 페이지가 없을 때
- 500 서버오류
- 익셉션 처리
- error.jsp하는 부분
## MVC 패턴 각 특징
조의상