2022.09.20
[학습]
동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술
특징
생명주기 Life Cylce
API
HttpServletRequest
HttpServletResponse
HttpServlet
용어 정리
- Context : 웹 어플리케이션을 관리하는 영역
URL
통신방법 ://ip주소:포트번호/프로젝트명/자원명?key=value
https://javaee.github.io/javaee-spec/javadocs/javax/servlet/package-summary.html
// web.xml
IdCheck
controller.IdCheck
testParameter
testValue
1
[학습]
1. client의 지속적인 상태 유지를 위한 개발 기술
- 로그인~로그아웃 까지의 개발 기술
http 프로토콜 기본 특징
개발 기술
파일로 저장
브라우저 메모리에 저장
: 공용 pc인 경우 사용 종료 후 쿠키 정보 삭제
단점 : client가 쿠키 정보 삭제시 해결 방법 없음
쿠키
javax.servlet.http.Cookie
setMaxAge()/getName()/getValue()
HttpServletResponse의 addCookie()
개발단계
1단계 - client 접속 승인
2단계 - 접속한 client가 상태 유지를 위한 시도
3단계 - 고유한 정보로 Cookie 객체 생성
: 맵구조 - key와 value가 매핑된 구조
4단계 - Cookie 객체의 정보를 client 시스템에 저장(응답)
5단계 - 이동된 web page에서 client 시스템에 있는 Cookie 정보 획득, 사용
6단계 - 상태유지 비활성화시 client 시스템의 쿠키정보 삭제
저장하는 데이터 타입?
세션 메모리에 상태 유지 데이터 저장
저장하는 데이터 타입 제한 없음
설정 방식
개발 방법
생성 및 제공
javax.servlet.http.HttpSession 생성 : getSession()
- container에게 생성 요청해서 없을 경우 새로 생성
- 이미 존재할 경우 해당 client만의 HttpSession 객체 제공 받음
세션 객체에 상태 유지를 위한 데이터 저장
이동된 web page에선 세션객체 획득(getSession()) 후 getAttribute()로 데이터 활용
세션 기능 무효화
invalidate()
[학습]
1. Java Server Page
2. 용도
- 자바 데이터를 브라우저 화면에 출력할 수 있게 제시된 스펙
3. 특징
1. 확장자 : *.jsp
2. 위치 : html과 동일한 경로
3. jsp를 최초로 호출할 경우 web server가 servlet으로 자동 변환
-> 컴파일 -> 서버 배치 -> 서비스
: 개발은 쉬우나 에러 발생시 변환된 servlet의 에러 메세지가 보이기 때문에 에러 처리가 어렵다
4. 정해진 tag들로 개발
5. 이미 자동 생성되는 내장 객체들 존재
- 요청 객체, 세션 객체, 출력 객체, 응답 객체...
- 개발자 코드는 참조 변수로만 사용하는 코드로 개발
6. 내장 객체 참조 변수와 타입
1. out - Printwriter
2. request - HttpServletRequest
3. session - HttpSession [쿠키 내장객체 아님]
4. pageContext - this
...
ArrayList users = new ArrayList();
users.add(new User("IT", 26));
users.add(new User("DEV", 24));
session.setAttribute("users", users);