๊ด€๋ฆฌ ๋ฉ”๋‰ด

C-log

4week ๋ณธ๋ฌธ

๐Ÿ“•JAVA/jsp

4week

4:Bee 2024. 3. 28. 14:54
728x90

UTF-์€ ๋ฌด์—‡์ธ๊ฐ€

UTF๋Š” Universal Character Set (UCS) Transformation Format์˜ ์•ฝ์ž๋กœ, ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ํ˜•์‹์ด๋‹ค. UTF๋Š” ์ „ ์„ธ๊ณ„์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ตญ์ œ ํ‘œ์ค€ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. UTF-8์€ ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์œผ๋กœ ASCII ๋ฌธ์ž๋Š” 1๋ฐ”์ดํŠธ๋กœ ์ธ์ฝ”๋”ฉ๋˜๊ณ  ๊ทธ ์ด์ƒ์˜ ๋ฌธ์ž๋Š” 2๋ฐ”์ดํŠธ 3๋ฐ”์ดํŠธ ๋˜๋Š” 4๋ฐ”์ดํŠธ๋กœ ์ธ์ฝ”๋”ฉ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ ๋•๋ถ„์— UTF-8์€ ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ๋ฌธ์ž ์ง‘ํ•ฉ์„ ํšจ์œจ์ ์œผ๋กœ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋‹ค.

* <action_tag>: HTML ๋ฌธ์„œ ๋‚ด์—์„œ "action"์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํƒœ๊ทธ์ด๋‹ค. ์ด๋Ÿฌํ•œ ํƒœ๊ทธ๋“ค์€ ์ฃผ๋กœ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์— ์˜ํ•ด ์ž‘๋™ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์›น ํŽ˜์ด์ง€์˜ ๋™์ ์ธ ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, <form>, <button>, <input type="submit"> ๋“ฑ์ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํƒœ๊ทธ๋“ค์€ ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์ž…๋ ฅ์„ ์ œ์ถœํ•  ๋•Œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ๋ฆฌ๋กœ๋“œํ•˜๋Š” ๋“ฑ์˜ ์•ก์…˜์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

* <script_tag>: HTML ๋ฌธ์„œ ๋‚ด์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ํƒœ๊ทธ์ด๋‹ค. JavaScript๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ์›น ํŽ˜์ด์ง€์˜ ๋™์ ์ธ ๋™์ž‘์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. JSP(JavaServer Pages)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฆฟ(scriptlet)๋Š” <% ... %> ์ด๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋ฆฟ์€ JSP ํŽ˜์ด์ง€ ๋‚ด์—์„œ Java ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋™์  ์ฝ˜ํ…์ธ ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋ฆฟ์€ JSP ์—”์ง„์— ์˜ํ•ด ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰๋œ๋‹ค.


4์ฃผ์ฐจ์—์„œ๋Š” ํฐ ์–ด๋ ค์›€์ด ์—†์—ˆ๋”ฐ. ์‹ค์Šต ์‹คํ–‰์„ํ•œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž.

main์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค

<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
	<jsp:useBean id="bean" class="ch04.com.dao.Calculator" />
	<h3>์ œ์ถœ์ž: xxx</h3>
	<h3>๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ</h3>
	<%
	for (int i =1; i < 10; i++){
		int m = bean.process(5, i);
		out.println("5 * " + i + " = " + m +"<br>");
	}
	%>
</body>
</html>

์œ„ jsp์ฝ”๋“œ ์‚ดํŽด๋ณด์ž.

* <%@ page contentType="text/html; charset=utf-8"%>

ํ•ด๋‹น ์ฝ”๋“œ๋Š” jsp ํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ  ์œ ํ˜•๊ณผ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์„ ์„ค์ •ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์—ฌ๊ธฐ์„œ html ์ฝ˜ํ…์ธ ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์€ UTF-8๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค.

* <jsp:useBean id="bean" class="ch04.com.dao.Calculator" />

์œ„ ํƒœ๊ทธ๋Š” JavaBean ๊ฐ์ฒด๋ฅผ JSP ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•œ๋‹ค. id ์†์„ฑ์€ ์‚ฌ์šฉํ•  JavaBean ๊ฐ์ฒด์˜ ์‹๋ณ„์ž๋ฅผ ์ง€์ •ํ•˜๊ณ  class ์†์„ฑ์€ ํ•ด๋‹น JavaBean ํด๋ž˜์Šค๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ id๊ฐ€ "bean"์ด๊ณ  class๊ฐ€ "ch04.com.dao.Calculator"์ธ JavaBean ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ jsp ์ฝ”๋“œ ๋ธ”๋ก ์•ˆ์—์„œ id๋กœ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. 

* int m = bean.process(5, i);

ํ•ด๋‹น ์ฝ”๋“œ๋Š” bean์ด๋ผ๋Š” JavaBean ๊ฐ์ฒด์˜ process ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ตฌ๊ตฌ๋‹จ์„ ๊ณ„์‚ฐํ•œ๋‹ค. JavaBean์— ์ ‘๊ทผ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ์‹œ์€ ์œ„์—์„œ ์„ค๋ช…ํ–ˆ ๋“ฏ ํ•ด๋‹น JavaBean์˜ id๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” Calculator ์—๋Š” process๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์šฐ๋ฆฌ๋Š” ์ถ”์ธกํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๋”๋ณด๊ธฐ๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น Calculator ์ฝ”๋“œ๋ฅผ ์‚ดํŽด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋”๋ณด๊ธฐ
package ch04.com.dao;

public class Calculator {
	public int process(int x, int y) {
		return x * y;
	}
}


## DAO๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

DAO๋Š” ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๊ฐ์ฒด(Data Access Object)๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. DAO๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ๋‹ค๋ฅธ ์˜์†์„ฑ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ถ”์ƒํ™”ํ•˜๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

์ฃผ์š” ๋ชฉ์ ์€ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ก์„ธ์Šค ์ฝ”๋“œ๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์—์„œ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋กœ์ง์˜ ๋ณ€๊ฒฝ์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90

'๐Ÿ“•JAVA > jsp' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

5week  (0) 2024.04.04
3week  (0) 2024.03.21
2week  (0) 2024.03.20
OT_1week  (0) 2024.03.07
Comments