개발공부 일지
학원수업_41day [HTML,CSS,JSP,Servlet(8day) - JSP] 본문
복습*
Web app 에는 설정이 있는데 , 2가지가 있다
1. xml ( web.xml)
2. Annotation ( @webServlet)
세션관리
- 사용자 정보유지
- 상태유지
- Stateful
1.Cookie
사용자 정보 클라이언트측, 타입 용량 제한
2. Session
사용자 정보 서버 측 , 제한없음.
세션유효기간 : WAS 설정시간 재접속없을 때 (apach tomcat 기본 설정은 30분)
1) 지정한 유효시간 내에 새로운 요청이 없으면 세션 만료
2) 브라우저 종료시 세션 만료
3) 로그아웃시 세션 만료
세션은 내부적으로 쿠키를 사용한다
(쿠키를 없애면 로그인해놨던것이 로그아웃 되는이유)

쿼리스트링이란?
URL의 뒤에 입력 데이터를 함께 제공하는 가장 단순한 데이터 전달 방법이다.
( 웹프로그램에 입력데이터를 전달하는 방법 )
웹개발에서 데이터를 요청하는 방식 중 대표적인 것이 GET방식과 POST방식인데, 주로 GET방식으로 데이터를 요청할 때 쓰이는 방법이다
* JSP 기본 문법
1) JSP 주석 : <%-- --%> 참고) HTML 과 XML 주석 <!-- -->
2) Scriptlet 스크립틀릿 : <% %> service 메서드 내에 삽입되는 자바 코드
3) Expression 출력 : <%= %> service 메서드 내에 삽입되는 출력 코드 out.print()
4) Declaration 선언 : <%!= %> 멤버 변수 또는 메서드 정의시 사용
5) Directive 지시 : <%@ %> 웹 컨테이너에게 현 페이지 정보를 알리는 역할( import, encoding, errorPage 등 )
* JSP Life Cycle *
- JSP LifeCycle : JSP 는 HttpServlet 의 자식 클래스로 생성되므로 서블릿 라이프 사이클과 동일
JSP 가 Web Container 에 의해 .java 코드로 생성되고 .class 로 컴파일된다
이 클래스(Servlet)가 실행되어 클라이언트에게 서비스한다


- JSP 파일을 Servlet 파일로 변환 ( .jsp -> .java)
- 변환된 Servlet을 컴파일 ( .java -> . class)
- Servlet 클래스 로딩
- Servlet 클래스 객체 생성
- jspinit()호출 : Servlet의 init() 역할. Servlet이 처음 호출 되었을 때 한번 일한다.
- _jspServlet() 호출 : Servlet의 servlet() 역할. 클라이언트의 요청에 응답한다.
- jspDestroy() 호출 : Servlet의 destroy() 역할. 객체가 사라지기 전에 호출된다.
- HTML + JSP ( 서버에서 jsp를 html로 만든다) → 서블릿 코드로 변환(자바소스) →
class확장자로 컴파일됨 → 클라이언트에 HTML 로 뿌려준다 (결과물인 HTML 이 마지막에 남게 되는 것)
JSP Tag
- 스크립트 태그(Script tag)
- 액션 태그 (Action tag)
– 표준 액션 태그
– Custom Tag
스크립트태그
- 지시자 태그(Directive Tag)
- 표현식 태그(Expression Tag)
- 선언 태그(Declaration Tag)
- 스크립트릿 태그(Scriptlet Tag)
- 주석
지시자 태그
- 컨테이너가 JSP를 Servlet으로 변환 할 때 특정 지 시를 내리기 위해 사용되는 태그
- 종류
– page : 페이지의 기능, 특징을 지시
– include : JSP 페이지에 다른 페이지를 포함시키는 것을 지시
– taglib : custom tag 사용과 관련된 지시
- 구문
<%@ 지시어 속성= “값” 속성= “값”…%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp 기초</title>
</head>
<body>
jsp 기초 문법 연습
<br>
<br>
<%
for(int i=0;i<5;i++) {
%>
<font color="blue">눈의 꽃 <%=i+1%></font><br>
<%
}
%>
</body>
</html>

* 주석 기본 문법 *
| 구분 | JSP 태그 | 용도 |
| 지시자 | <%@ %> | 페이지 속성 지정 |
| 주석 | <%-- --%> | 주석 처리 |
| 선언 | <%! %> | 변수, 메소드의 선언 |
| 표현식 | <%= %> | 결과값 출력 |
| 스크립트릿 | <% %> | JAVA 코드 삽입 |
| 액션태그 | <jsp:action> </jsp:action> | 페이지 삽입, 공유, 자바빈 사용 등 |



'학원수업 > Web(HMTL,CSS,JSP,Servlet)' 카테고리의 다른 글
| 학원수업_44day [JSP,Servlet(11day) - Model2-MVC, Singleton] (0) | 2022.10.04 |
|---|---|
| 학원수업_43day [HTML,CSS,JSP,Servlet(10day) - Model2-MVC / forward, redirect] (0) | 2022.09.30 |
| 학원수업_40day [HTML,CSS,JSP,Servlet(7day) - Cookie / Session] (0) | 2022.09.27 |
| 학원수업_39day [HTML,CSS,JSP,Servlet(6day) - ServletConfig, Servletcontext] (0) | 2022.09.26 |
| 학원수업_38day [HTML,CSS,JSP,Servlet(5day) - web ] (0) | 2022.09.23 |