jsp - java servlet page
spring
js => 웹에 특화됨
스프링을 사용하게 된 이유:
진정한 자바로 돌아가자, 자바의 본질을 사용하자
개발자는 개발만 하게 하도록
싱글톤 -> 스프링이 알아서 해줌
싱글톤 패턴 injection 서비스명 -> 알아서만듦
자바의 본질만 알면 @어노테이션 해서 사용가능
인젝션
page include 사용
tiles
인터넷 = 웹
같으면서 다름
인터넷 - (TCP/IP로 정보를 주고받는 전세계 네트워크)
웹 - 인터넷에 연결된 컴퓨터들을 통해 파일을 공유할 수 있는 정보공간
인터넷은 네트워크, 웹은 정보공간(망)
웹의 동작원리
클라이언트(웹 브라우저 - 크롬)와 서버(톰캣, 네이버,다음 등) 사이의 요청과 응답
주소를 만들면 서버(톰캣)에서 html로 렌더링을 한다.
정적 웹페이지 : 컴퓨터에 저장된 텍스트 파일을 그대로 보는것(HTML)
1.클라이언트가 웹페이지를 요청
2.이미 준비된 html문서를 그대로 렌더링해서 전달
동적 웹페이지 : 저장된 내용을 다른 변수로 가공처리하여 보는것
(JSP, PHP(Person), ASP)
1.클라이언트가 웹페이지를 요청
2.웹서버가 요청을 분석하여 처리
3.결과를 HTML 문서로 생성
4.요청에 맞게 정제된 HTML 문서를 전달
로딩: 메모리에 올린다
소멸: 메모리에서 내린다
클래스 안에서 처리를 하고 HTML 문서가 만들어짐
프레임워크 = 디자인패턴 + 라이브러리
디자인패턴 = 약속(모든 요청(request)은 servlet으로 온다)
servlet -> service -> dao -> xml -> DB
이런 약속을 가지는 이유 : 다형성
실습환경 :
URL : (Uniform Resource Locator)
: 웹 브라웆저의 주소줄에 표시되는 것
URI : URL + 기능
http:// www.11st.co.kr / products/1209182320 ?trTypeCd=22&trCtgrNo
프로토콜 서버이름 경로 쿼리문자열
URL의 주요 구성요소
웹 컨테이너
웹 콘테이너 - JSP, 서블릿
스프링 - 프레임워크 = 디자인패턴 + 라이브러리
JSP 생성주기
번역 -> 컴파일 -> 로딩 및 초기화 -> 실행 -> 소멸
404, 500 오류일 시 어디로 갈건지 web.xml에 처리
<%@ %> : 디렉티브
<%! %> : 선언부
<%= %> : 표현식
<% %> : 스크립트릿
프로젝트가 어플리케이션이 됨
JRE
web.xml의 역할 - 톰캣의 환경설정
(오류났을 때 어느 페이지로 가라, 파일 업로드할 때)
WEB-INF : JDBC, jsp 파일들 업로드