What is JSP
JSP는 자바 서버 페이지(Java Server Page)의 약자로 웹 사이트의 서버를 제작하는 것에 사용되는 스크립트 언어이자 서버 사이드 언어이다. HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구이다.
JSP는 HTML처럼 마크업 언어의 형태를 가지는데 이게 자바로 구현된 서블릿으로 변환이 되고 자바로 컴파일되어 실행하는 방식으로 작동한다.
Quick Start
JSP를 사용하기 위해선 3가지 요소가 필요하다.
- Java : JDK & JRE
- Apache : Tomcat
- IDE(이클립스 사용)
https://show400035.tistory.com/78
JSP 시작하기 전 환경설정
* 학원에서 배운 내용을 토대로 작성 JSP는 (Java Server Page) HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성해 웹 브라우저에 돌려주는 언어로 백엔드 개발에 속한다고 합니
show400035.tistory.com
필자는 위 글을 통해 설치를 했다.
JSP 기초 문법
JSP는 기본적으로 HTML을 기반으로 그 위에 자바 코드를 끼워넣는 식으로 실행된다. 그래서 실제로는 대부분의 변수 선언, 메서드 선언, 로직 등은 자바 언어로 짜게 된다. 하지만 자바 코드를 HTML 사이에 끼워 넣을 때 필요한 문법이 몇 가지 있다.
1. 스크릿트립(Scriptlet)
"<% %>" 으로 시작하고 끝나는 태그
JSP 문법의 가장 기본이 되는 태그로 대부분의 JSP 문법 표현이 이 스크릿트립을 기본으로 한다.
"<% %>" 사이에 실행될 자바 코드를 입력하면 된다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 스크립트릿( 변수선언, 메서드 등에 대한 실행 가능 ) -->
<% int a = 5; %>
<% int b = 5; %>
<% plus(a,b); %>
<!-- 10 출력 -->
<% if(5>1){ System.out.println("5는 1보다 크다"); } %>
<!-- "5는 1보다 크다" 출력 -->
</body>
</html>
2. 선언부 (Declaration)
"<%! %>"는 변수, 메서드 등을 선언할 때 이용하는 태그다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 선언문(선언만 가능) -->
<%! String name = "홍길동"; %>
<%! public int plus(int a, int b){ return a+b; } %>
</body>
</html>
3. 표현부 (Expession)
"<%= %>"는 변수,메서드 등의 실행에 관한 부분을 맡아 그 결과를 표현한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 선언문(선언만 가능) -->
<%! String name = "홍길동"; %>
<%! public int plus(int a, int b){ return a+b; } %>
<!-- 표현부 (변수 선언, 변수 및 메서드에 대한 실행 가능) -->
<p><%= name %></p>
<!-- "홍길동" 출력 -->
<p><%= plus(5,5) %></p>
<!-- 10 출력 -->
</body>
</html>
4. JSP 지시어
JSP 지시문은 서블릿 클래스의 전체 구조에 영향을 준다.
해당 JSP 파일을 어떻게 처리할지 등의 정보를 기술한다.
5. JSP 액션 태그
JSP 문서 내에서 간단하게 다양한 구현을 할 수 있도록 만든 태그이다.
6. JSP 내장 객체
JSP에서 자바 코드를 작성할 때 별도의 선언 없이 사용할 수 있는 자바 객체이다.
예를 들어 JSP에서 선언 없이 사용할 수 있는 request 객체가 이에 해당한다.