티스토리 뷰

Language/Java

JSP(JavaServer Pages)

Seogineer 2020. 12. 17. 23:31

JSP

  • JSP는 JSP 자체가 동작하는 것이 아니라 모든 JSP는 서블릿으로 바뀌어서 동작한다.
  • WAS가 지시문의 명령을 받는다.

문법

// 지시문
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>

// import
<%@ page import="java.util.*"%>

// 선언문; 전역변수 선언 및 메소드 선언에 사용
<%!
    String id = "u001"; //멤버변수 선언
    public String getId( ) { //메소드 선언
        return id;
    }
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

// scriptlet; 자바코드를 입력할 수 있는 부분
<%
    int total = 0;
    for(int i = 0; i <= 10; i++){
        total = total + i;
    }
%>

1부터 10까지의 합 : <%=total %>    //표현식; servlet의 out.print(); 역할

선언문 메소드 호출 : <%=getId() %>

<!-- HTML 주석 -->
<%-- JSP 주석 -->

</body>
</html>

JSP의 실행순서

  1. 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달.
  2. 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 Servlet 코드로 변환된다.
    -JSP -> Servlet(Java 파일)
  3. Servlet 코드를 컴파일해서 실행가능한 bytecode로 변환한다.
    -Servlet(Java 파일) -> class
  4. class를 로딩하고 인스턴스를 생성한다.
  5. servlet이 실행되어 요청을 처리하고 응답 정보를 생성한다.

java, class 파일 생성 경로

workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\firstweb\org\apache\jsp

Servlet vs JSP

  • init() -> _jspInit()
  • service() -> _jspService()
  • destroy() -> _jspDestroy()

참조

https://www.edwith.org/boostcourse-web/lecture/16702/
https://www.edwith.org/boostcourse-web/lecture/16703/
https://kyun2.tistory.com/47

'Language > Java' 카테고리의 다른 글

Maven 환경설정  (0) 2020.12.21
redirect와 forward  (0) 2020.12.19
Servlet 생명주기  (0) 2020.12.09
접근제어자(Access Modifiers)  (0) 2020.12.09
Overriding vs Overloading  (0) 2020.12.08
댓글
Total
Today
Yesterday
링크
Apple 2023 맥북 프로 14 M3, 스페이스 그레이, M3 8코어, 10코어 GPU, 512GB, 8GB, 한글