๐ AJAX(Asynchronous JavaScript And Xml)
๐น ์๋ฐ์คํฌ๋ฆฝํธ์ XML์ ์ด์ฉํ ๋น๋๊ธฐ ํต์
โ ๋น ๋ฅด๊ฒ ๋์ํ๋ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฐ๋ฐ ๊ธฐ๋ฒ
๐ ๋๊ธฐ ํต์ ์ ๋์์ ์ฌ๋ฌ ์์ ์ ๋ชปํ๊ณ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ๋ค๋ฅธ ์์ ๋ชปํ๊ณ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ
๐ ๋น๋๊ธฐ ํต์ ์ ์์ฒญํ๊ณ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค๋ฅธ ๋์ ๊ฐ๋ฅ !
โ Ajax๋ฅผ ์ด์ฉํ๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ญ์์ ์๋ฒ์ ํต์ ํ์ฌ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์น ํ์ด์ง์ ์ผ๋ถ๋ถ์๋ง ํ์ํ ์ ์๋ค.
์๋ฒ์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ ํํ | |
JSON | |
XML,XSLT,XMLHttpRequest | ์น ์๋ฒ์ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ณ ์กฐ์ |
HTML(๋๋XHTML) ๊ณผCSS | ํํ ์ ๋ณด |
DOM,์๋ฐ์คํฌ๋ฆฝํธ | ๋์ ์ธ ํ๋ฉด ์ถ๋ ฅ ๋ฐ ํ์ ์ ๋ณด์์ ์ํธ์์ฉ |
ํ ์คํธ ํ์ผ ๋ฑ |
Ajax ์ ํ๋ฆฌ์ผ์ด์ ์ XML/XSLT ๋์ ๋ฏธ๋ฆฌ ์ ์๋ HTML์ด๋ ์ผ๋ฐ ํ ์คํธ,JSON,JSON-RPC๋ฅผ ์ด์ฉํ ์ ์๋ค.
โถ DHTML์ด๋LAMP์ ๊ฐ์ด Ajax๋ ์์ฒด๊ฐ ํ๋์ ํน์ ํ ๊ธฐ์ ์ ๋งํ๋ ๊ฒ์ด ์๋๋ผ
ํจ๊ป ์ฌ์ฉํ๋ ๊ธฐ์ ์ ๋ฌถ์์ ์ง์นญํ๋ ์ฉ์ด์ด๋ค.
์ค์ ๋กAFLAX์ ๊ฐ์ด ์ฌ์ค์ Ajax์ ๋ฐํ์ ๋๊ณ ์๋ ์ ์ฌ/๋ณตํฉ ๊ธฐ์ ๋ค์ด ์์ ๋ํ๋๊ณ ์๋ค.
์ง์ํ๋ ๋ธ๋ผ์ฐ์ ๋ก๋๋ชจ์ง๋ผ ํ์ด์ดํญ์ค,์ธํฐ๋ท ์ต์คํ๋ก๋ฌ,์คํ๋ผ,์ฌํ๋ฆฌ,๊ตฌ๊ธ ํฌ๋กฌ๋ฑ
๋จ, ์คํ๋ผ๋ ํ์ฌ XSL ํฌ๋งทํ ๊ฐ์ฒด์ XSLT ๋ณํ์ ์ง์ํ์ง ์๋๋ค.
Ajax ์ฅ์ | Ajax ๋จ์ |
์น ํ์ด์ง ์ ์ฒด๋ฅผ ๋ค์ ๋ก๋ฉํ์ง ์๊ณ ๋ ์น ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง์ ๊ฐฑ์ ํ ์ ์๋ค. |
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ํด๋ผ์ด์ธํธ ํ๋ง ๋ฐฉ์์ ์ฌ์ฉํ๋ฏ๋ก ์๋ฒ ํธ์ ๋ฐฉ์์ ์ค์๊ฐ ์๋น์ค๋ ๋ง๋ค ์ ์๋ค. |
์น ํ์ด์ง๊ฐ ๋ก๋๋ ํ์ ์๋ฒ๋ก ๋ฐ์ดํฐ ์์ฒญ์ ๋ณด๋ผ ์ ์๋ค | ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ์ ์ ์๋ค. |
์น ํ์ด์ง๊ฐ ๋ก๋๋ ํ์ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์๋ค. | ์คํฌ๋ฆฝํธ๊ฐ ํฌํจ๋ ์๋ฒ๊ฐ ์๋ ๋ค๋ฅธ ์๋ฒ๋ก Ajax ์์ฒญ์ ๋ณด๋ผ ์๋ ์๋ค. |
๋ฐฑ๊ทธ๋ผ์ด๋ ์์ญ์์ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๋ค. | ํด๋ผ์ด์ธํธ์ PC๋ก Ajax ์์ฒญ์ ๋ณด๋ผ ์๋ ์๋ค. |
์ฌ์ฉ์๊ฐ ์ง์ ์ํ๋ ์ ๋ณด๋ฅผ ์๋ฒ์๊ฒ ์์ฒญํ์ฌ ์ป๋ ๋ฐฉ์
์ด์ ๋ฐํด ์๋ฒ ํธ์(server push) ๋ฐฉ์์ด๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ์ง ์์๋ ์๋ฒ๊ฐ ์์์ ์๋์ผ๋ก ํน์ ์ ๋ณด๋ฅผ ์ ๊ณต
ex) ์ค๋งํธ ํฐ์์ ๊ฐ์ข
์ฑ์ด ๋ณด๋ด๋ ํธ์ ์๋ฆผ /์๋ฒ ํธ์ ๋ฐฉ์์ ๋ํ์ ์ธ ์
โ Ajax ํ๋ ์์ํฌ
Ajax๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋ฐ์ ์์ฝ๊ฒ ํ ์ ์๋๋ก ๋ฏธ๋ฆฌ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ๋ฅ์ ํฌํจํด ๋์ ๊ฐ๋ฐ ํ๊ฒฝ
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํ๋ ์์ํฌ.
- Prototype
- script.aculo.us
- dojo
- jQuery
์์ ๐ฝ
$.ajax({
url: " ์ฃผ์ ", // ํด๋ผ์ด์ธํธ๊ฐ HTTP ์์ฒญ์ ๋ณด๋ผ ์๋ฒ์ URL ์ฃผ์
data: { name: "์ด๋ฆ" }, // HTTP ์์ฒญ๊ณผ ํจ๊ป ์๋ฒ๋ก ๋ณด๋ผ ๋ฐ์ดํฐ
method: "GET", // HTTP ์์ฒญ ๋ฉ์๋(GET, POST ๋ฑ)
dataType: "json" // ์๋ฒ์์ ๋ณด๋ด์ค ๋ฐ์ดํฐ์ ํ์
})
// HTTP ์์ฒญ์ด ์ฑ๊ณตํ๋ฉด ์์ฒญํ ๋ฐ์ดํฐ๊ฐ done() ๋ฉ์๋๋ก ์ ๋ฌ๋จ.
.done(function(json) {
$("<h1>").text(json.title).appendTo("body");
$("<div class=\"content\">").html(json.html).appendTo("body");
})
// HTTP ์์ฒญ์ด ์คํจํ๋ฉด ์ค๋ฅ์ ์ํ์ ๊ดํ ์ ๋ณด๊ฐ fail() ๋ฉ์๋๋ก ์ ๋ฌ๋จ.
.fail(function(xhr, status, errorThrown) {
$("#text").html("์ค๋ฅ์
๋๋ค.<br>")
.append("์ค๋ฅ๋ช
: " + errorThrown + "<br>")
.append("์ํ: " + status);
})
//
.always(function(xhr, status) {
$("#text").html("์์ฒญ์ด ์๋ฃ๋์์ต๋๋ค.");
});
์คํ ๐ฝ
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery๋ฅผ ์ด์ฉํ ๋น๋๊ธฐ ํต์ ๊ตฌํ</title>
<script type="text/javascript" src="../js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
/*
AJAX(Asynchronous JavaScript And Xml) : ์๋ฐ์คํฌ๋ฆฝํธ์ XML์ ์ด์ฉํ ๋น๋๊ธฐ ํต์
*/
$(document).ready(function(){
//text ์ ๋ณด๋ฅผ ์ฝ์ด ์ด
$.ajax({
url:'myString.jsp',
success:function(param){//์๋ฒ์ ์๋ต์ด ์ฑ๊ณตํ์ ๋ ํธ์ถ
//์ ์ก๋ฐ์ text๋ฅผ body์ ํ์
$('body').append(param);
}
});
});
</script>
</head>
<body>
</body>
</html>
<%@ page language="java" contentType="text/plain; charset=UTF-8"
pageEncoding="UTF-8" trimDirectiveWhitespaces="true"%>
<!-- contentType=plain์ผ๋ก ๋ฐ๊พธ๊ธฐ / ๊ณต๋ฐฑ ์ต๋ํ ์ง์์ค-->
Hello JSP!
'JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ(JDK) ๋ค์ด๋ก๋, ํ๊ฒฝ๋ณ์ ์ค์ ํ๊ธฐ (0) | 2022.12.21 |
---|---|
[ Java ] ์๋ฐ ๋ฒ์ ํ์ธ ๋ฐฉ๋ฒ (0) | 2022.06.15 |
[ Java ] ์ถ์ํด๋์ค,์ถ์๋ฉ์๋/์ธํฐํ์ด์ค (0) | 2022.05.10 |
[ Java ] ํด๋์ค ๋ณ์/์ธ์คํด์ค ๋ณ์/์ง์ญ๋ณ์ (0) | 2022.05.10 |
JAVA ์ฉ์ด ์ ๋ฆฌ [1] JVM/์ค๋ ๋/์ค๋ฒ๋ก๋ฉ/์ค๋ฒ๋ผ์ด๋ฉ (0) | 2022.05.02 |
๋๊ธ