
web.xml -> index.html ํ์ผ๋ง ๋จ๊ธฐ๊ณ ๋ค ์ญ์
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
<display-name>AJAX</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
index.html ์์ฑ
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>AJAX์ฐ์ต</title>
</head>
<body>
<h1>1๋ถํฐ ๋น์นธ์ ์ ์ ์ซ์๊น์ง ์ดํฉ์?</h1>
<input type="text">
<button onclick="sendServer();">๊ณ์ฐํ๊ธฐ</button>
<div id="output"></div>
<script>
//์
๋ ฅ์ฐฝ
const input = document.querySelector('input[type="text"]');
//์ถ๋ ฅํ ํํฌ
const output = document.getElementById('output');
//AJAX๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฐ์ฒด
const request = new XMLHttpRequest(); //ajax ๊ฐ์ฒด ์์ฑ
//๋ฒํผ์ ๋๋ฅด๋ฉด ์๋ ํจ์๊ฐ ์คํ๋๋ค.
function sendServer() {
//๋ฒํผ์ ๋๋ฅด๋ฉด ajax๋ก ์๋ฒ๋ก http ์์ฒญ
let v = input.value;
let url = "sum.jsp?val=" + v; // ์๋ฒ ์์ฒญ ์ฃผ์์ ํ๋ผ๋ฏธํฐ๋ก ์
๋ ฅํ ๊ฐ์ ๋ณด๋
request.open('GET', url, true); //Get๋ฉ์๋, ์์ฒญ์ฃผ์ ์ค์
request.send(); //์์ฒญํจ
request.onreadystatechange = function () {
//์์ฒญ๋จ๊ณ๊ฐ ์ฑ๊ณต์ ์ด๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ .
if (request.readyState == 4 && request.status == 200) {
let val = request.responseText; //์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์์ฒญ ๊ฒฐ๊ณผ
console.log(val);// ์ฝ์์ ํ์ธ.
}
}
}
</script>
</body>
</html>
sum.jsp ์์ฑ
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//var ํ๋ผ๋ฏธํฐ ๋ฐ๊ธฐ
String val = request.getParameter("val");
int n = Integer.parseInt(val);//์ซ์๋ก ๋ณํ
//out.println(n); ํ๋ผ๋ฏธํฐ๋ก ์ ์ก๋ฐ์ ๊ฐ์ด ์ ์ถ๋ ฅ๋๋์ง ํ์ธํ๊ธฐ (ํ์ธ์๋ฃ)
int total = 0;
for(int i = 1; i<=n ; i++){
total += i;
}
out.print(total); //์ดํฉ์ ๊ฒฐ๊ณผ๋ก ์ถ๋ ฅ=> AJAX๋ก ๊ฒฐ๊ณผ ๋ฐ์๊ฐ
%>
1) ํ๋ผ๋ฏธํฐ ์ ์ก๋ฐ์ ๊ฐ ์ ์ถ๋ ฅ๋๋์ง ํ์ธ ํ๊ธฐ



ํ๋ฉด์ ๋ฐ๋์ง ์๊ณ ๋ฐ์ดํฐ๋ง ์๋ค ๊ฐ๋คํจ
์๋ต์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ฐ์์ ์ฝ์์ ์ถ๋ ฅ

index.html
console.log(val) => output.textContent=val; ๋ก ์์
ํ๋ฉด์ถ๋ ฅ


์ถ์ฒ : https://developer.mozilla.org/ko/docs/Web/API/XMLHttpRequest.
(request.readyState == 4 && request.status == 200) ์ ๋ํ ๋ด์ฉ
readyState 4 = ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ ๋ฐ์ ์ํ , status 200= ์์ฒญ ์ฑ๊ณต

์ถ์ฒ : https://blog.naver.com/shdlsdo/220590134013
httpRequest.readyState==4 ๋ ๋ฌด์์ธ๊ฐ?
httpRequest.status==200 * onreadyStateChange์ ๋ฑ๋ก๋ callback ํจ์๋ readyState๋ผ๋ ํ๋กํผํฐ์ ...
blog.naver.com
์ฐธ๊ณ ํ๊ธฐ : http://www.tcpschool.com/ajax/ajax_server_response
์ฝ๋ฉ๊ต์ก ํฐ์จํผ์ค์ฟจ
4์ฐจ์ฐ์ ํ๋ช , ์ฝ๋ฉ๊ต์ก, ์ํํธ์จ์ด๊ต์ก, ์ฝ๋ฉ๊ธฐ์ด, SW์ฝ๋ฉ, ๊ธฐ์ด์ฝ๋ฉ๋ถํฐ ์๋ฐ ํ์ด์ฌ ๋ฑ
tcpschool.com
Integer.parseInt ๊ด๋ จ ๋ด์ฉ
https://colossus-java-practice.tistory.com/32
[์๋ฐ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด] 5. Integer.parseInt(Stringํ์ ์ ๊ฐ)
์ค๋์ ์ง๋ ๋ฒ charAt()์ ์ด์ด์ ๋๋ค๋ฅธ ๋ณํ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ์ด๋ฒ์๋ Stringํ์ ์ ์ด์ฉํด ๋ค๋ฅธ ํํ๋ก ๋ณํ์ํค๋ ๊ฒ์ด๋ค. 1. parseInt()๋? ์ด์ ์ ๋ดค๋ charAt()์ Stringํ์ ์ ๋ฌธ์์ด
colossus-java-practice.tistory.com
'FRONTEND > ๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| id๋ก DB๊ฒ์ํ์ฌ ๊ฒฐ๊ณผ ์ถ๋ ฅ (0) | 2023.10.04 |
|---|---|
| AJAX๋ก ๊ตฌ๊ตฌ๋จ ์ถ๋ ฅ (1) | 2023.10.04 |
| JSON ๋? (0) | 2023.10.04 |
| ์์ ์ฝ๋ ์ฌ์ดํธ (0) | 2023.09.26 |
| ๋ฌด๋ฃ ์์ด์ฝ ๋ฐ ๋ฌด๋ฃ ์ฌ์ง ๋ค์ด๋ก๋ ์ฌ์ดํธ (0) | 2023.09.26 |