일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 요리
- springboot
- jenkins
- Spring
- Oracle
- ReactJS
- db
- devops
- elasticsearch
- php
- laravel
- JVM
- 맛집
- javascript
- MySQL
- IntelliJ
- Design Patterns
- AWS
- tool
- linux
- redis
- Spring Boot
- jsp
- java
- it
- ubuntu
- Web Server
- Git
- Gradle
- Spring Batch
- Today
- Total
아무거나
[JSP] 학습 1 본문
1. JSP 태그의 개념
- Servlet은 java언어를 이용하여 문서를 작성하고, 출력객체를 이용하여 HTML코드를 삽입하였습니다.
JSP는 Servlet과 반대로 HTML코드에 JAVA언어를 삽입하여 동적 문서를 만들 수 있다.
* 주로 Servlet는 컨트롤러, JSP는 view로 활용된다.
- JSP 태그종류
# 지시자 : <%@ %> : 페이지 속성
# 주석 : <%-- --%>
- Html 주석 : 브라우저에서 읽혀진다. ( 소스보기에서 화면에 나온다. )
- JSP 주석 ( 서버에서 처리되며, 응답을 html로 받기 때문에 소스보기 화면에서도 나오지 않는다. )
# 선언 : <%! %> : 변수, 메소드 선언
- String str = "ABC";
# 표현식 : <%= %> : 결과값 출력
- <%=str%> -> ABC
# 스크립트릿 : <% %> : JAVA 코드
# 액션태그 : <jsp:action> </jsp:action> : 자바빈 연결
2. JSP 동작 원리
- JSP가 요청되어 응답하기까지의 과정
클라이언트가 웹 브라우저로 helloWorld.jsp를 요청하게 되면 JSP컨테이너가 JSP파일을 Servlet파일(.java)로 변환
그리고 Servlet파일(.java)은 컴파일 된 후 클래스 파일(.class)로 변환되고, 요청한 클라이언트한테 html파일 형태로 응답
웹 브라우저 요청 => JSP >> Servlet => Servlet >> class => 웹 브라우저 응답(html형태로 응답)
* 만약 helloWorld.jsp를 기준으로 보면 tomcat/work/Catalina/localhost/{jsp관련폴더명}/org/apache/jsp에 helloWorld_jsp.class, helloWorld_jsp.java가 생성되어있다.(이 생성되어있는걸 JSP가 Servlet객체를 재활용한다)
helloWorld_jsp.java를 컴파일하여 class파일로 만들어서 메모리상에 로드를하고 그것을 실행을 한다음에 응답은 HTML코드로 응답한다.
-> 자세한건 helloWorld_jsp.java 파일을 실행해보면 어떻게 응답하는지 알 수 있다.
3. JSP 내부 객체
- JSP에서 제공되는 내부객체는 JSP컨테이너에 의해 Servlet으로 변화될 때 자동으로 객체가 생성된다.
# 입출력 객체 : request, response, out
# 서블릿 객체 : page, config
# 세션 객체 : session
# 예외 객체 : exception
참고: https://www.inflearn.com/course/%EC%8B%A4%EC%A0%84-jsp-%EA%B0%95%EC%A2%8C/dashboard
'Java & Kotlin > JSP & Servlet' 카테고리의 다른 글
[JSP] 학습 3 (0) | 2019.12.21 |
---|---|
[JSP] 학습 2 (0) | 2019.12.21 |
[Servlet] 서블릿 학습(4) (0) | 2019.12.21 |
[Servlet] 서블릿 학습(3) (0) | 2019.12.21 |
[Servlet] 서블릿 학습(2) (0) | 2019.12.21 |