[7.26] JSP 기본 개념
<기본>
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폴더 아래에 있어야 한다.
- 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>