JSP(JavaServer Pages)
Java를 기반으로 하는 웹 기술로, HTML 웹 페이지 내에 Java 코드를 포함하여 동적으로 웹 콘텐츠를 생성할 수 있게 해줍니다.
즉, JSP는 클라이언트에게 동적으로 응답을 생성하기 위한 서버측 스크립팅 언어입니다.
JSP는 서블릿 기술에 기반을 두고 있으며, 개발자가 Java 코드와 HTML 태그를 혼합하여 사용할 수 있게 해줍니다.
JSP의 기본 구조
JSP 페이지는 주로 다음의 구성 요소로 이루어져 있습니다:
- HTML 코드: JSP 페이지의 주요 내용을 구성합니다.
- 스크립트릿(Scriptlet): <% %> 사이에 위치하는 Java 코드로, JSP 페이지가 실행될 때 해당 Java 코드도 실행됩니다.
- 표현식(Expression): <%= %> 사이에 위치하며, 값이 출력될 위치에 사용됩니다.
- 선언(Declaration): <%! %> 사이에 위치하며, JSP 페이지 내에서 사용될 변수나 메서드를 선언하는 데 사용됩니다.
- 디렉티브(Directive): JSP 페이지의 동작을 지시하거나 제어하는 태그입니다.
- 액션 태그(Action Tags): JSP의 기본 기능을 확장하거나 특정 동작을 수행하기 위해 사용되는 XML 스타일의 태그입니다.
- 커스텀 태그(Custom Tags): 개발자가 직접 정의하여 사용하는 태그입니다.
디렉티브 태그(Directive Tags)
디렉티브 태그는 JSP 페이지의 전체 동작을 제어하는 데 사용되며, 주로 세 가지 주요 디렉티브 태그가 있습니다.
page 디렉티브: JSP 페이지의 응답 및 요청 객체, 페이지 인코딩, 임포트 클래스, 에러 페이지, 세션 사용 여부 등을 지정합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date"%>
<%@ page errorPage="error.jsp"%>
include 디렉티브: 다른 JSP 또는 HTML 파일을 현재 JSP 페이지에 포함시키는 데 사용됩니다. 해당 태그를 만나면 지정된 파일의 내용이 해당 위치에 포함됩니다.
<%@ include file="header.jsp"%>
taglib 디렉티브: 사용자 정의 태그 라이브러리나 JSTL 등의 태그 라이브러리를 JSP 페이지에 추가하는 데 사용됩니다. 주로 커스텀 태그나 JSTL을 사용할 때 이 디렉티브를 통해 해당 태그 라이브러리를 임포트합니다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
JSP페이지 예시
1. welcome.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Welcome Page</title>
</head>
<body>
<h2>Welcome to our website!</h2>
<form action="greet.jsp" method="post">
Please enter your name: <input type="text" name="userName">
<input type="submit" value="Submit">
</form>
</body>
</html>
2. greet.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Greeting Page</title>
</head>
<body>
<h2>Hello, <%= request.getParameter("userName") %>! Thank you for visiting our website.</h2>
<a href="welcome.jsp">Go back</a>
</body>
</html>
- welcome.jsp에서는 간단한 HTML 폼을 사용하여 사용자의 이름을 입력 받습니다.
- 사용자가 이름을 입력하고 "Submit" 버튼을 클릭하면, 데이터는 greet.jsp 페이지로 POST 방식으로 전송됩니다.
- greet.jsp에서는 <%= request.getParameter("userName") %>를 사용하여 사용자로부터 전송된 이름을 가져와 환영 메시지를 표시합니다.
'Java > JSP' 카테고리의 다른 글
[JSP] JavaBean/JSP Bean (0) | 2023.10.10 |
---|---|
[JSP] JSTL(Custom Tag) (0) | 2023.10.10 |
[JSP](EL)Expression Language (0) | 2023.10.10 |