
html, css์ ์ค์ง์ ์ผ๋ก ๊ธฐ๋ฅ์ ๋ถ์ฌํด๋ณด์!
์ฒ์์๋ ์ด์ํ ์ ์์ง๋ง class ์ด๋ฆ์ ์ฐพ๋๋ฐ ๋ง์์ ๊ธํ๊ฒ ๋จน์ง๋ง๊ณ , ๋๋ฆ์ ๊ท์น์ ์ ํด์ ๋ณ์ ์ด๋ฆ์ ์ ํด๋ณด๊ณ , ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ์ ํํ ๋ณ์๋ฅผ ์ฐพ์๋ณด์ธ์๐ค
<script>ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ JSํ์ผ์ ์ ์ฉ์ํค๊ธฐ
์น ๋ธ๋ผ์ฐ์ ์ ๋์์ ์ ์ดํ๊ฑฐ๋ ๋ฐ์ดํฐ์ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ html์ ํฌํจํ ์ ์๋ค.
html
<!-- ๊ธฐ๋ณธ ์์: ์ฝ์์ฐฝ์ Hello World๋ฅผ ๋์๋ด
์๋ค-->
<script>
console.log("Hello World!")
</script>
<!-- src ์์ฑ์ ์ธ๋ถ ์คํฌ๋ฆฝํธ ํ์ผ์ URL์ ํตํด ๊ฐ์ ธ์ต๋๋ค -->
<script src="../js/main.js"></script>
main.html ํ์ผ์์ </body>๊ฐ ๋๋๋ ๋ถ๋ถ์์ <script> ํ๊ทธ๋ฅผ ์ฝ์
ํด์ JS๋ฌธ๋ฒ์ ์ฌ์ฉํ ์ ์๋๋ก ์ด์ด์ค๋๋ค

์ดํ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ด์ด์ Hello World๊ฐ ์ฝ์์ฐฝ์ ์ ๋์์ง๋์ง ํ์ธํด๋ด
์๋ค

js ํด๋๋ฅผ ๋ง๋ค์ด์ main.js ํ์ผ๊ณผ base.js ํ์ผ์ ๋ง๋ค์ด์ค๋๋ค
๊ฑฐ์ฐฝํ๊ฑฐ ์์ด terminal ์ฐฝ์ผ๋ก ์๊ฐํ๋ฉด ๋ฉ๋๋ค
์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ฝ๋๋ค์ด ์ ๋์๊ฐ๊ณ ์๋์ง ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋
<script> ํ๊ทธ์ ์์น๋ ์ด๋๊ฐ ๊ฐ์ฅ ์ข์๊น?<head> ํ๊ทธ ๋ด๋ถ<body> ํ๊ทธ์ ๋งจ ๋ง์ง๋ง<body> ํ๊ทธ ์ดํโ์ html ์ฝ๋์์ <body> ํ๊ทธ๊ฐ ์์ํ ๋ <script> ํ๊ทธ๊ฐ ์๋ ์ด์ ๋ ๋ค๋ธ๋ฐ๋ ๊ฐ์ฅ ์์ ์์นํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. html ์ฝ๋๋ ํ ์ค์ฉ ์ฝ์ด ๋ด๋ ค๊ฐ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๋จผ์ ๋ก๋๋๋๋ก ํ์ต๋๋ค.
<script> ํ๊ทธ์ ์ถ๊ฐ์ ์ธ ์์ฑ (async, defer) ์ ๋ํ ์ค๋ช
์ ์๋ ๋งํฌ๋ฅผ ์ฐธ์กฐํด์ฃผ์ธ์.
navbar์ footer์ ๊ฒฝ์ฐ ๋ชจ๋ html ํ์ผ์ <body> ํ๊ทธ ๋งจ ์ฒ์๊ณผ ๋งจ ๋์ ๋ถ์ฌ๋ฃ๊ธฐํ๋ ํํ๋ก ๋ถ๋ฌ์ฌ์ ์์ง๋ง, ์ข ๋ ๊ฐ๊ฒฐํ๊ฒ ์ฝ๋๋ฅผ ์ง๋ณผ๊น์?
function LoadNAVBAR()
๋จผ์ LoadNAVBAR()๋ผ๋ ํจ์๋ฅผ ์ ์ํด์ค๋๋ค
int addsumnumber(int a, int b)
{
int c = a+b;
return c;
}
const ํํ์ ๋ณ์๋ก html์์ ์ฌ์ฉํ class๋ฅผ js์ ๋ณ์ ํํ๋ก ๋ถ๋ฌ์ต๋๋ค.
getElementsByTagName์ documentํด๋์ค์ method ์
๋๋ค.
Tag๋ก ์ ์ธํ HTML์์๋ฅผ ์ฐพ์์ allElements์ ๋ถ์ฌํด์ค๋๋ค
โ์ฐ๋ฆฌ๋ navbar.html ํ์ผ ์ ์ฒด๋ฅผ Tag๋ก ์ง์ ํด์ allElements ๋ณ์์ ๋์
ํ ๊ฒ์
๋๋ค.
โ *๋ก ํ์ํ๊ฒ ๋๋ฉด html ํ์ผ ์ ์ฒด์ ์์๋ฅผ ๊ฐ๋ฆฌํต๋๋ค
์กฐ๊ธ ์์ฉํ๊ฒ ๋๋ค๋ฉด
์ด๋ฐ์์ผ๋ก ์ ์ธํ ์ ์์ต๋๋ค.
main.html ํ์ผ๋ก ๋์ด์์, JSํ์ผ์ด ์ธ์ํ ์ ์๋๋ก ํ๊ทธ ์ด๋ฆ์ ์ง์ ํด์ค๋๋ค

โ๏ธ๊ฒฐ๋ก : allElements ๋ณ์์ Tag ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ navbar.html ํ์ผ ์ ์ฒด๋ฅผ ์ง์ ํ์ต๋๋ค
for๋ฌธ๊ณผ ๋ฐฐ์ด์ ์ฑ์ง์ ์ด์ฉํด์ ํด๋นํ๋ ๋ณ์์ Attribute(์์ฑ)์ ์ ๊ทผํฉ๋๋ค

์ฐ๋ฆฌ๋ ํ๊ทธ์ ์์ฑ์ ์ ๊ทผํ ๊ฑฐ๋๊น ์ด๋ ๊ฒ ์จ์ฃผ์ธ์!
class๋ ๋์ค์ ์ข ๋ ์์ธํ ๋ค๋ฃฐ ์ค์ํ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ์ ๋๋ค
ํน์ ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ์ ๋ํด์ ๋ค์ด๋ณธ์ ์ด ์๋์?
ํ๋ก๊ทธ๋๋ฐ์์๋ ํ์ค์ธ๊ณ์ ์๋ ๋ชจ๋ ๋ฌผ๊ฑด๋ค์ ๊ฐ์ฒด ๋ผ๊ณ ํํ โ ์ด ๊ฐ์ฒด๋ค์ ์ปดํจํฐ(๊ฐ์ํ๊ฒฝ)์ ๊ตฌํํ๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋จ์ ๋ชฉํ์
๋๋ค
์ํ2ํ๋
๋ค๋ 1๋
๋ด๋ด ์ ๊ณต์์ ๋ฐฐ์ฐ๋ ๋ถ๋ถ์ธ ๋งํผ ์ดํด๊ฐ ์ฝ์ง ์๋ค๊ณ ์คํธ๋ ์ค๋ฅผ ๋ฐ๊ธฐ๋ณด๋ค๋, ์ด๋ฐ๊ฒ ์๊ตฌ๋! ๋ผ๊ณ ๊ฐ๋ณ๊ฒ ์๊ฐํด์ฃผ์
จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค

public class Pokemon {
int dogam_num;
String region;
String name;
String pokemon_type;
String action;
//ํ๋ก๊ทธ๋จ์ ์์ํ๋ค๊ณ ์๋ ค์ค
public static void main(String[] args) {
Pokemon pikachu = new Pokemon(); //์๋ก์ด ํฌ์ผ๋ชฌ ๊ฐ์ฒด ์์ฑ
Pokemon purin = new Pokemon();
pikachu.startAttack("๋ฐฑ๋ง๋ณผํธ");
System.out.println(pikachu.action);
purin.pokemon_type = "ํ์ด๋ฆฌ";
System.out.println(purin.pokemon_type);
}
//๊ฐ์ฒด๋ณ์์ ์ ๊ทผ
public void startAttack(String action){
this.action = action; //๋ณ์์ ์ด๊ธฐํ
}
}

XMLHttpRequest๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ก ๊ฐ๋ ์๋ก์ด ๊ฐ์ฒด xhttp๋ฅผ์ฌ์ฉํด์ ์ ์ฒด ํ์ด์ง์ ์ํธ์์ฉ ํ๋๋ก ๋ง๋ค์ด์ฃผ์ธ์
XMLHttpRequest ์ onreadystatechange ์์ฑ์ ํตํด์ ์๋ฒ๋ก๋ถํฐ ์๋ต์ด ์ ๋ค์ด์๋์ง ํ์ธํด์ค๋๋คXMLHttpRequest ๊ฐ์ฒด์ ํ์ฌ ์ํ๋ฅผ ๋ํ๋
๋๋ค.onreadystatechange ๊ฐ๋ ๋ณํฉ๋๋ค
4์ด๋ฉด ์์ฒญํ ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์ด ์๋ตํ ์ค๋น๊ฐ ๋ ์ํ์
๋๋ค200์ด๋ฉด ์๋ฒ๊ฐ ๋ฌธ์์ ์กด์ฌํ๋ค๋ ๋ป์
๋๋คel์ด๋ผ๊ณ ์ ์ํ์ต๋๋คLoadNAVBAR() ํจ์๋ฅผ ๋์์์ผ์ค๋๋ค

GET : http ์๋ฒ์์ ๋ฆฌ์์ค๋ฅผ ์์ฒญnavpath๋ก ์ง์ ํด๋ navbar.htmlsend๋ฅผ ์คํ์ํต๋๋ค
function : ๊ตฌํํ ํจ์๋ฅผ ๊ฒฐ์ ํด์ ์นํ์ด์ง์ ๋์ ๊ธฐ๋ฅ ๋ถ์ฌ
HTML, CSS๋ง ์์ฑํ๊ณ ๋๋ ์์๋ค์ด๋ผ๋ฉด ๋ฒํผ์ ํด๋ฆญํ์๋ ์๋ฌด์ผ๋ ์ผ์ด๋์ง ์์๊ฒ๋๋ค๐ข
์ฌ๊ธฐ์ ๊ฐ๋ฐ์๊ฐ ์ง์ ํจ์๋ฅผ ๋ง๋ค์ด์ โํด๋ฆญโ์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ํํ์๋ ์ํฌ ์ผ์ ๊ฒฐ์ ํฉ๋๋ค
nav๋ฐ์ ์๋ HOME๋ฒํผ์ ๋๋ฅด๋ฉด ๋ฉ์ธํ์ด์ง๋ก ๋ค์ ๋์๊ฐ๊ธฐ
์์ด๋ณด์ด๊ฒ redirect ํด์ค๋ค๊ณ ๋ ํฉ๋๋ค
location.href ๋ช
๋ น์ด๋ฅผ ํตํด์ navbar.html ํ์ด์ง ๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ค๋๋ค๋ง๊ฐ์ผ์ : 4์ 8์ผ 23:59
this๋ฅผ ์ ์ผ๋์ง, ๋ณ์ ์ง์ ์ ์๊ทธ๋ ๊ฒ ํ๋์งjava์ ํด๋์ค์ ๋ํด์ ๊ณต๋ถํ๊ณ , ์ค์ค๋ก ์์๋ฅผ ๋ง๋ค์ด์ ํ์ผ์ ์ ๋ก๋ํด์ฃผ์ธ์