[Servlet] JSP

์†Œ์ด๋Žยท2023๋…„ 12์›” 1์ผ
1

Servlet

๋ชฉ๋ก ๋ณด๊ธฐ
11/13
post-thumbnail

๐Ÿ“ JSP(JavaServer Pages)

  • HTML๋‚ด์— Java ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์›น ์„œ๋ฒ„์—์„œ ๋™์ ์œผ๋กœ ์›น ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑ(HTML)ํ•˜์—ฌ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋Œ๋ ค์ฃผ๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ด๋‹ค.
  • JSP๋Š” Java Servlet์œผ๋กœ ๋ณ€ํ™˜๋œ ํ›„ ์‹คํ–‰๋˜๋ฏ€๋กœ Servlet๊ณผ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๋‹ค. ํ•˜์ง€๋งŒ, Servlet๊ณผ๋Š” ๋‹ฌ๋ฆฌ HTML ํ‘œ์ค€์— ๋”ฐ๋ผ ์ž‘์„ฑ๋˜๋ฏ€๋กœ ์›น ๋””์ž์ธํ•˜๊ธฐ์— ํŽธ๋ฆฌํ•˜๋‹ค.
  • http://localhost:ํฌํŠธ๋ฒˆํ˜ธ/ํ”„๋กœ์ ํŠธ๋ช…/webappํด๋” ํ•˜์œ„์˜ ํŽ˜์ด์ง€ ์ฃผ์†Œ.jsp๋กœ ์ ‘๊ทผํ•œ๋‹ค.

๐Ÿ‘‰ JSP๊ฐ€ HTML๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ณผ์ •

  • JSP ํŒŒ์ผ์ด Java Servlet ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜(ํŒŒ์ผ ์ƒ์„ฑ X)
  • Java Servlet ์ฝ”๋“œ๋ฅผ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผํ•˜์—ฌ Servlet ํŒŒ์ผ(.class ํŒŒ์ผ) ์ƒ์„ฑ
  • request ์‹œ ํด๋ž˜์Šค ๋กœ๋”ฉ(์ฒซ request๋งŒ), ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  • Servlet ์‹คํ–‰(.class ํŒŒ์ผ ์‹คํ–‰)
  • HTML๋กœ response ์ „์†ก(Content-Type: text/html)

๐Ÿ“ JSP ํŒŒ์ผ ์ฃผ์„

  • <%-- --%>
<%-- ์ฃผ์„ ์˜ˆ์‹œ --%>

๐Ÿ“ JSP ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ

  • JSP ํŽ˜์ด์ง€์—์„œ Java๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  • 1๏ธโƒฃ ๋””๋ ‰ํ‹ฐ๋ธŒ(Directive): <%@ %>, JSP ํŽ˜์ด์ง€์˜ ์ „๋ฐ˜์ ์ธ ์†์„ฑ์„ ์„ค์ •(ex.import ๋ฌธ, ํŽ˜์ด์ง€ ์–ธ์–ด ์„ค์ •)
  • 2๏ธโƒฃ ์„ ์–ธ๋ฌธ(Declaration): <%! %>, ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
  • 3๏ธโƒฃ ์Šคํฌ๋ฆฝํ‹€๋ฆฟ(Scriptlet): <% %>, Java ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
  • 4๏ธโƒฃ ํ‘œํ˜„์‹(Expression): <%= %>, ๋ณ€์ˆ˜๋‚˜ ํ‘œํ˜„์‹์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
<%-- 1๏ธโƒฃ ๋””๋ ‰ํ‹ฐ๋ธŒ --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<%-- 2๏ธโƒฃ ์„ ์–ธ๋ฌธ --%>
	<%! 
		// ํ•„๋“œ
		private int num = 100;
	
		// ๋ฉ”์†Œ๋“œ
		private String getHelloWorld() {
			return "Hello World";
		}
	%>
	
	<%-- 3๏ธโƒฃ ์Šคํฌ๋ฆฝํ‹€๋ฆฟ --%>
	<%
		int sum = 0;
		for(int i = 1; i <= 10; i++) {
			sum += i;
		}
	%>
	
	<%-- 4๏ธโƒฃ ํ‘œํ˜„์‹ --%>
	<%= num %> <%-- ํ•„๋“œ ์ถœ๋ ฅ --%>
	<%= getHelloWorld() %> <%-- ๋ฉ”์†Œ๋“œ ์ถœ๋ ฅ --%>
	<h1><%= sum %></h1> <%-- ํƒœ๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ --%>
</body>
</html>

๐Ÿ“ JSP ๋‚ด์žฅ ๊ฐ์ฒด

  • ๋‚ด์žฅ ๊ฐ์ฒด๋Š” ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • request, response, out, session, pageContext, application, config, page, exception
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
	<%! String a = "out์€ ๋‚ด์žฅ ๊ฐ์ฒด์ด๋ฏ€๋กœ importํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค."; %>
	<% out.print(a); %>
</body>
</html>

๐Ÿ“ ์ œ์–ด๋ฌธ ์‚ฌ์šฉํ•˜๊ธฐ

  • ์Šคํฌ๋ฆฝํ‹€๋ฆฟ์€ ์ค‘๊ฐ„์— ์—ฌ๋‹ซ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ์Šคํฌ๋ฆฝํ‹€๋ฆฟ์„ ์ด์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ œ์–ด๋ฌธ์˜ ์—ฌ๋Š” ์ค‘๊ด„ํ˜ธ, ๋‹ซ๋Š” ์ค‘๊ด„ํ˜ธ๋ฅผ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํ‹€๋ฆฟ์— ์ž‘์„ฑํ•˜๊ณ  ๊ทธ ์‚ฌ์ด์— HTML ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ๋™์ ์œผ๋กœ HTML์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
<%-- ์ œ์–ด๋ฌธ ์ค‘ ๋ฐ˜๋ณต๋ฌธ ์˜ˆ์‹œ -->

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ex04</title>
</head>
<body>
	<%
		for(int i = 0; i < 5; i++) {		
	%>
	<h1>ํƒœ๊ทธ ๋ฐ˜๋ณต<%= i %></h1>
	<%
		}
	%>
</body>
</html>

๐Ÿ“ Eclipse ๋‹จ์ถ•ํ‚ค

๋‹จ์ถ•ํ‚ค์„ค๋ช…
ctrl + space์ž๋™ import

0๊ฐœ์˜ ๋Œ“๊ธ€