교육과정 기록/💻back-end

[7.26] JSP 기본 개념

춘식이왔엉 2022. 7. 26. 23:09

<기본>
1. JSP == Servlet
2. HTML문서의 원하는 위치에
   Model 데이터를 injection(주입)하기 위해서, 태그(JSP Scripting Tags)를 배움
3. JSP 내장객체
4. JSP 액션태그

<고급>
5. EL (Expression Language)
6. JSTL(JSP standard tag libraries) --> 태그들!!!

 

JSP Scripting 요소 5가지

(1) 주석태그 : <%-- --%>

(2) 지시자태그 : <%@지시자(3가지) %>      - page   ===> JSP 를 서블릿 소스코드로 변환시, 변환내용을 변경
    - include ===> 지정된 JSP/HTML파일의 소스코드 내용 그대로 포함(삽입)

        → 페이지의 모듈화

         (공통적인 부분은 따로 생성한 후에 포함해 효율적인 사용이 가능. 비어있는 행까지 있는그대로 가져온다)

     - taglib   ===> JSP고급: JSTL에 사용 - 태그 라이브러리에서 기능을 사용할 수 있도록 제공

(3) 선언태그 : <%! 필드 선언 %> 또는 <%! 메소드 선언 %>
     - 필드와 메소드를 만들 때 사용

(4) Scriptlet 태그 : <%     %>
     - 자바실행문장(코드)을 넣고 싶을 때 사용
        
     - 단점: 스크립트릿 태그로 인해, HTML 정상적인 태그보다 자바코드가 더 많아지는 현상 때문에

               JSP 코드의 가독성을 상당히 해침!

(5) 표현식(Expression) 태그: <%= 값을생성하는식 %>
     - 값(변수/리터럴/연산식/리턴값이 있는 메소드호출) 을 출력하는 태그


 

요청한 JSP 파일의 아키텍쳐

 

서블릿과 JSP 비교

 

< JSP file 만들기 > 

context root로 지정해놓은 '/'  는,  프로젝트에서 webapp 폴더를 의미한다.

JSP파일은 최소한 webapp폴더 아래에 있어야 한다.

webapp 우클릭 > New > JSP File

 

- vs코드로 이동해서 작성

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello</title>
</head>

<body>
    <h1>/hello.jsp</h1>
    <hr>
    <h2>안녕하세요, 또 만났군요!</h2>
</body>

</html>