Context Path(컨텍스트 패스)
WAS(Web Application Server)에서 웹 어플리케이션을 구분하기 위한 path이다.
이클립스에서 프로젝트를 생성하면, 자동으로 server.xml에 추가된다.
================================================
Servlet 작동 순서
클라이언트에서 servlet요청이 들어오면 서버에서는 servlet컨테이너를 만들고, 요청이 있을 때마다 스레드가 생성된다.
웹브라우저 -> 웹서버 -> 웹어플리케이션 서버 -> Servlet 컨테이너(1. 스레드 생성, 2. Servlet 객체 생성)
===================================================
Servlet 라이프 사이클 (생명주기)
- Servlet의 사용도가 높은 이유는 빠른 응답 속도 때문이다.
- Servlet의 최초 요청 시 객체가 만들어져 메모리에 로딩되고, 이후 요청 시에는 기존의 객체를 재활용 하게 된다.
따라서 동작 속도가 빠르다
- Servlet의 라이프 사이클
1. Servlet 객체 생성 -> 최초 한번
2. init() 호출 -> 최초 한번
3. service(), doGet(), doPost() 호출 -> 요청시 매번
4. destory() 호출 -> 마지막 한번(자원 해제 : Servlet 수정, 서버 재가동 등등..)
======================================================
HTML form태그
- html의 form태그는 서버쪽으로 정보를 전달할 때 사용하는 태그.
input
태그의 종류를 지정한다.
속성(type, name, value)
- type : 태그 종류 지정(ex. text,password,submit, checkbox, radio, reset)
- name : input태그 이름
- value : name에 해당하는 값(ex. name = value)
type = text
일반적인 데이터를 입력하기 위해 사용한다.
<input type="text" name="name" size="10">
type = password
로그인, 회원가입 페이지 등에서 비밀번호 입력하기 위해 사용
<input type="password" name="name" size="10">
type = submit
form내의 데이터를 전송할 때 사용
<input type="submit" value="전송">
type = reset
Form내의 데이터를 초기화 할 때 사용
<input type="reset" value="초기화">
type = checkbox
데이터값을 여러개 전송해야 할 때 사용
<input type="checkbox" name="hobby" value="read">독서
<input type="checkbox" name="hobby" value="cook">요리
<input type="checkbox" name="hobby" value="run">조깅
<input type="checkbox" name="hobby" value="swim">수영
<input type="checkbox" name="hobby" value="sleep">취침
type = radio
checkbox와 달리 여러개의 데이터 값 중 한 개의 값만 전송할 때 사용
<input type="radio" name="major" value="kor">국어
<input type="radio" name="major" value="eng" checked="checked">영어
<input type="radio" name="major" value="mat">수학
<input type="radio" name="major" value="des">디자인
select
리스트 형태의 데이터를 사용
<select name="protocol">
<option value="http">http</option>
<option value="ftp" selected="selected">ftp</option>
<option value="smtp">smtp</option>
<option value="pop">pop</option>
</select>
form태그
input태그들의 값을 서버로 전송하기 위한 정보를 담고 있다.
<form action="FormEx" method="post">
"FormEx" => 요청하는 컴포넌트 이름(ex. join.jsp, info.html 등등)
"post" => 요청을 처리하는 방식(ex. get, post)
get으로 요청 시 : http://ip주소:포트/컨텍스트/path/MemberJoin?id="abcd"&name="홍길동"
post로 요청 시 : http://ip주소:포트/컨텍스트/path/MemberJoin
Servlet Parameter
Form태그의 submit버튼을 클릭하여 데이터를 서버로 전송하면, 해당파일(Servlet)에서는 HttpServletRequest객체를
이용하여 Parameter값을 얻을 수 있다.
(ex. request.getParameter() - 매개변수에 해당하는 value값을 얻은 것, getParameterValues() - 체크박스 처럼 값이 여러개일때 받는것
, getParameterNames() - html에서 넘어온 이름)
======================================================
서블릿 초기화 파라미터 : ServletConfig
특정 Servlet이 생성될 때 초기에 필요한 데이터들이 있다.
예를 들어 특정 경로 및 아이디 정보 등...
이러한 데이터들을 초기화 파라미터라고 하며, web.xml에 기술하고 Servlet파일에서는 ServletConfig 클래스를
이용해서 접근(사용)한다.
또한 초기화 파라미터를 web.xml이 아닌 Servlet파일에 직접 기술 하는 방법도 있다.
web.xml파일에 초기화 파라미터 기술
Servlet 클래스 제작 -> Web.xml파일에 초기화 파라미터 기술 -> ServletConfig 메소드 이용해서 데이터 불러오기
Servlet파일에 초기화 파라미터 기술
Servlet 클래스 제작 -> @WebinitParam에 초기화 파라미터 기술 -> ServletConfig 메소드 이용해서 데이터 불러오기
웹어플리케이션 감시 : ServletContextListener
웹어플리케이션의 생명주기를 감시하는 리스너가 있다
리스너의 해당 메소드가 웹 어플리케이션의 시작과 종료 시 호출 된다.
==================================================
JSP 태그의 개념 이해
Servlet은 JAVA언어를 이용하여 문서를 작성하고, 출력객체를 이용하여 HTML코드를 삽입한다.
JSP는 Servlet과 반대로 HTML코드에 JAVA언어를 삽입하여 동적 문서를 만들 수 있다.
HTML코드 안에 JAVA코드를 삽입하기 위해서는 태그를 이용해야 한다.
JSP태그 종류
지시자 : <%@ %> : 페이지 속성
주석 : <%-- --%>
선언 : <%! %> : 변수, 메소드 선언
표현식 : <%= %> : 결과값 출력
스크립트릿 : <% %> : JAVA코드
액션태크 : <jsp:action> </jsp:action> : 자바 빈 연결
'Programing > JSP' 카테고리의 다른 글
JSP_03 (3) | 2022.04.21 |
---|---|
JSP_01 (0) | 2022.04.21 |