2_ws_(Sevlet2, JSP)
@Servlet 생명주기
- 클라이언트 요청이 들어오면 해당 서블릿이 메모리에 있는지 확인하고 없는 경우
init() 메소드를 호출하여 적재
실행중 서블릿이 변경될 경우 기존 서블릿을 파괴하고 init()메소드를 통해 새로운 내용을 다시 메모리에 적재
@Get과 Post방식의 비교/차이
#HTTP 형태 [Header : 노출부분 / Body : 비노출부분(여러가지정보가들어있음)]
-Get
HTTP Header 부분에 담음
URL에 데이터를 포함시켜 요정
전송하는 길이 제한
캐싱가능(ex 즐겨찾기, 북마크, 링크공유)
순수하게 데이터만 가져옴
-Post
HTTP Body 부분에 담음
URL에 데이터를 노출하지않고 요청
데이터길이에 제한은 없지만 최대요청받는시간(Timeout)이 존재함
캐싱불가능
브라우저의 문자인코딩값도 같이가져옴(ISO-8859-1)
@비즈니스 로직
Servlet은 Java Class이기 때문에 비즈니스 로직(데이터 가공, DB 접근 등의 기능수행을 위한 로직)
수행이 Front 관련 기술들(HTML, Javascript, jQuery)보다 간편하고 효율적이다.
@Get 방식
Head에서 불러옴
// 응답페이지에 사용할 컨텐츠 타입 설정
response.setContentType("text/html; charset=UTF-8");
// 문자열(HTML코드)를 응답화면에 출력할 스트림을
// response객체에서 얻어와 응답화면과 해당 Servlet연결
PrintWriter out = response.getWriter();
@Post 방식
Body에서 불러옴
크롬 = ISO-8859-1으로 인코딩되어있으므로
request.setCharacterEncoding("UTF-8");
// 응답 페이지에 사용할 컨텐츠 타입 설정
response.setContentType("text/html; character=UTF-8");
// 문자열(HTML코드)를 응답화면에 출력할 스트림을
// response에서 얻어와 응답화면과 해당 Servlet 연결
PrintWriter out = response.getWriter();
@@@JSP@@@
JSP란??
JAVA 코드가 들어가 있는 HTML 코드 (결과는 자바)
@Servlet과 JSP차이점
-Servlet
자바코드 속에 HTML이 들어있음
-JSP
HTML속에 자바코드를 넣음
자바 소스코드(<% %> 또는 <%= %>)가 들어가는 형태
@순서
coding -> 서블릿변환 -> 컴파일 -> 실행
jsp java class
@scope
page: 현재페이지내
request: 요청을 받은 servlet/jsp
session: 브라우저
application : 전체
@jsp를 이루는 구성인자(element)
1) page :
-errorPage : 에러발생시 페이지로 이동해라
-isErrorPage : 오류처리페이지
2) ★include : jsp 파일이 자바파일로 바뀔때 자바문서에 삽입되어 컴파일 되는 파일 추가
@스크립팅 원소 : JSP페이지에서 자바코드를 직접기술할수 있게 하는 기능
1) 선언문(declartion)
<%! 자바코드 %>
(메소드, 내부 클래스 #예전에 많이씀)
2) ★스트립틀릿(scriptlet)
<% 자바코드 %>
자바코드(변수선언, 연산, if, for 등등)
3) ★출력식, 표현식(expression)
<%= 자바코드 %>
(결과를 출력해줌(직접적으로 화면에 보여줌))
@내장객체
-request
-response
-out
-session
-config