java 동작원리
- .java 파일에 코드 작성
- 컴파일
- .class 파일 생성
- JVM을 통해 어느 환경에서도 공통적으로 실행
java datatype
- 정수
- int: -2147483648 ~ 2147483648
- long: int 범위보다 큰 경우 L 또는 l을 붙여서 사용. -2^263 ~ 2^263
- underscore 표기 가능. ex) 100_000
2진수 0b, 8진수 0, 16진수 0x
- 실수
- float:접미사 F 또는 f
- double
- 지수표기법: e-3, e+3
- 논리형: true, false
- 문자
- char
- 문자열
- char 배열
- string 클래스: ""
원시 타입은 stack, 참조 타입은 heap
string 내장 메서드
- length()
- equals()
- substring()
- split()
- trim()
- join()
- replace()
java, jsp, servlet의 관계 & MVC 패턴
- Model: java를 통해 구현
- View: jsp로 데이터를 가져와 구현
- Controller: servlet이 중간 다리 역할
java web application 폴더 구조
- 📁 /
- 📄 index.html/index.jsp: 시작 페이지
- 📁 imges
- 📁 css
- 📁 js
- 📁 etc: 기타 jsp, html 파일
- 📁 WEB-INF
- 📄 web.xml: 환경 설정 파일
- 📁 classes: 컴파일된 자바 파일
- 📁 lib: jar 위치
jsp의 구성요소
// directive
<%@ page %>
<%@ include %>
<%@ taglib %>
- directive: 페이지 또는 전역 속성 설정 또는 정의.
- page: 페이지 속성 정의, import
langage, contentType, pageEncoding - include: 다른 jsp 또는 html
- taglib: 태그 라이브러
- page: 페이지 속성 정의, import
// el
// 요청 url: /data?username=nulzi
${username} // nulzi 출력
// 같은 표현
${param.username}
- el: 간단한 문법으로 데이터 출력. ${}. scope 개념을 통해 탐색.
pagecontext > request > session > application 순서대로 탐
// script
<% %> // scriptlet
<%! %> // declaration
<%= %> // expression
- script
- scriptlet: 자바 코드 작성
- declaration: 선언문 작성. 변수 선언 또는 함수 정의.
- expression: 표현식 작성 및 출력 용
- implicit object: 내장 객체
- request
- response
- pageContext
- session
- application
- page
- config
- out
- exception
// action, 사용자 정의 태그
<jsp:something>
- action, 사용자 정의 태그: 자주 사용되는 기능을 태그로 변환. 커스텀 가능. ex) jstl
jsp & servlet lifecycle
- jsp 생성
- jsp translator가 servlet(.java file) 생성
- compiler가 class file 생성
- JRE(JVM servlet loading)
- servlet object 생성(인스턴스화)
- jspInit(): 초기화
- _jspService(): 요청 처리 단계
- jspDestroy(): 소멸
- buffer에 담기
참고
https://blogshine.tistory.com/25
https://www.geeksforgeeks.org/java/life-cycle-of-jsp/
'개발 > Java' 카테고리의 다른 글
| [JSP] jsp에서 scope는 무엇인가? (0) | 2025.09.03 |
|---|