1. ํ๋ก์ ํธ ์์ฑ, ๊ธฐ๋ณธ ์ค์ ์คํ๋ง๊ณผ ๊ฐ์
- project pacets , pom.xml ๋ฒ์
- web.xml ์ธ์ฝ๋ฉ
- server path
2. pom.xml ์ AJAX ํต์ ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ
Maven Repository: Search/Browse/Explore
NiFi Kerberos User Service API Last Release on May 26, 2022
mvnrepository.com
jackson ์ด๋ผ๊ณ ๊ฒ์ํ๋ฉด
์ด ๋๊ฐ๋ฅผ pom.xml ์ ๋ฃ์ด์ค๋ค.
๋ฒ์ ์ ๋ ๋ค 2.11.0 ์ผ๋ก ํ์!
์ค๋์ ๋น๋๊ธฐ ๋ฐฉ์์ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด๊ธฐ ์ํด ๊ฐ๋จํ ์ฝ๋ ์์ฑ ํ๊ณ
log๋ฅผ ์ฐ์ด ๋ฐ์ดํฐ ๊ฐ์ด ์ด๋ป๊ฒ ๋ค์ด์ค๋์ง ํ์ธํด๋ณธ๋ค.
home.jsp
- ๋๊ธฐ๋ฐฉ์
form ํ๊ทธ์์ action ์์ฑ๊ณผ method๋ฅผ ํตํด ์ ๋ฌ
<h3>๋๊ธฐ๋ฐฉ์</h3>
<form action="login.do" method="post">
<table>
<tr>
<th>ID</th>
<td><input type="text" name="id" value=""/></td>
</tr>
<tr>
<th>PW</th>
<td><input type="password" name="pw" value=""/></td>
</tr>
<tr>
<th colspan="2">
<button>๋ก๊ทธ์ธ</button>
</th>
</tr>
</table>
</form>
- ๋น๋๊ธฐ ๋ฐฉ์
form ํ๊ทธ๊ฐ ์๋ jquery๋ฅผ ์ด์ฉํด์ ์ ์กํด์ค๋ค.
<h3>๋น๋๊ธฐ๋ฐฉ์</h3>
<table>
<tr>
<th>ID</th>
<td><input type="text" id="id" value=""/></td>
</tr>
<tr>
<th>PW</th>
<td><input type="password" id="pw" value=""/></td>
</tr>
<tr>
<th colspan="2">
<button onclick="send()">LOG IN</button>
</th>
</tr>
</table>
button onclick ์์ฑ์ send() ํจ์๋ก ๋ณด๋ด์ฃผ๊ณ
<script>์์ jQuery๋ก send() ํจ์ ์์ฑ
<script>
function send() {
console.log("ajax ์ ์ก");
$.ajax({
type:"post", // method = "post" ์ ๊ฐ๋ค.
url : "login.ajax", // action๊ณผ ๊ฐ๋ค.
data: {
id: $("#id").val(),
pw: $("#pw").val()
}, //parameter , ๋ณต์ ๊ฐ๋ก ๋ฐ๊ธฐ ์ํด object ์ฌ์ฉ
dataType:"json", //์ด๋ค ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋?
success:function(data){
console.log(data);
}, // ์ฑ๊ณตํ์ ๋ ์คํํ ๊ฒ. ์ต๋ช
๊ฐ์ฒด function!
error:function(e){
console.log(e);
} // ์คํจํ๋ค๋ฉด ์คํํ ๊ฒ.
});
}
</script>
๋ฒํผ์ ๋๋ฅด๋ฉด send() ํจ์ ์คํ
- console.log("ajax ์ ์ก"); // ์นํ์ด์ง ์ฝ์์ฐฝ์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํด์ค๋ค.
- $.ajax({ }); // ajax ์์ฑ ๊ธฐ๋ณธ ๊ตฌ์กฐ
- type : "post/get", // formํ๊ทธ์ method = "post/get" ๊ณผ ๊ฐ๋ค.
- url : "login.ajax", // form ํ๊ทธ์ action = "login.do" ์ ๊ฐ๋ค.
- data : { key : value }, // parameter๋ฅผ object ํํ๋ก ๋ฐ์์จ๋ค.
// data : { kdy : value } ์์ ์ฌ๋ฌ ๊ฐ์ parameter๋ฅผ ๋ฐ๊ธฐ ์ํด object๋ฅผ ์ฌ์ฉ - id : $('#id').val(), pw: $('#pw').val() // ์์ table์์ id=id , id=pw ๋ผ๊ณ ์ง์ ํด์ฃผ์๊ธฐ ๋๋ฌธ์ #id, #pw๋ก ๋ถ๋ฌ์ค๋ฉฐ,
// .val()์ ํตํด์ value ๊ฐ๋ง ๊ฐ์ ธ์จ๋ค. - dataType: "json", // json ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ์๋ ์ถ์ธก
- success : function(data) { }, // ์ฑ๊ณตํ์ ๋ ์คํํ ๊ฒ. function์ ์ต๋ช ๊ฐ์ฒด(????)
- error : function(e) { } // ์คํจํ์ ๋ ์คํํ ๊ฒ.
HomeController.java
@RequestMapping(value = "/login.do")
public String formLogin(@RequestParam String id, @RequestParam String pw) {
logger.info("๋๊ธฐ๋ฐฉ์ : {} / {}",id,pw);
return "home";
}
// controller ๋ ๋น๋๊ธฐ์ ๋ง๊ฒ ๋ณ๊ฒฝํด์ค์ผ ํจ.
//1. response ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ์๋ตํด ์ค์ผ ํจ
//2. javascript๊ฐ ์ ์ ์๋ ํํ๋ก ์๋ตํด์ค์ผ ํ๋ค. (array, object)
//์ ๋ด์ฉ์ ์ฝ๊ฒ ํ ์ ์๋๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์กด์ฌํ๋ค.
@RequestMapping(value = "/login.ajax")
@ResponseBody //response๋ฅผ ์ด์ฉํด์ ๊ฐ์ ์ ๋ฌํ ์ ์๋ค.
public HashMap<String, Object> ajaxLogin(@RequestParam String id, @RequestParam String pw) {
logger.info("๋น๋๊ธฐ๋ฐฉ์ : {} / {}",id,pw);
//{"msg":"๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ต๋๋ค."} <- js object / HashMap
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("msg", "๋ก๊ทธ์ธ์ ์ฑ๊ณต ํ์ต๋๋ค.");
map.put("success", true);
map.put("code", 200);
return map;
}
์๋ ๋๊ธฐ๋ฐฉ์
์๋๋ ๋น๋๊ธฐ ๋ฐฉ์
- ๋๊ธฐ ๋ฐฉ์์ request๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ ๊ฐ์ ์ ๋ฌํ๊ณ
- ๋น๋๊ธฐ ๋ฐฉ์์ response๋ฅผ ์ด์ฉํด์ ํ์ด์ง์ ์ ๋๋ค (???)
- @ResponseBody // response๋ฅผ ์ด์ฉํด์ ๊ฐ์ ์ ๋ฌํ๋ค.
- public HashMap<String, Object> ajaxLogin(@RequestParam String id, @RequestParam String pw) { }
// ajaxLogin ์ด๋ ์ด๋ฆ์ ๋ฉ์๋๋ HahMap ๋ฐ์ดํฐ ํ์ ์ ๋ฐํ(return)๋ฐ๊ณ , String ํ์ parameter ์ธ id, pw๋ฅผ ๋ฐ์์จ๋ค. - {"msg":"๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ต๋๋ค."} ๋ js์ object ํํ ์ด๋ค. ์ด๋ฅผ ๋ฐ์์ค๋ ค๋ฉด HashMap์ ์ฌ์ฉํด์ค์ผํ๋ฏ๋ก
- HashMap<String, Object> map = new HashMap<String, Object>(); //HashMap์ ๊ฐ์ฒดํํด์ค
- map.put("msg", "๋ก๊ทธ์ธ์ ์ฑ๊ณต ํ์ต๋๋ค.");
map.put("success", true);
map.put("code", 200); // map ์ objec ํํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ค๋ค. - return map; // map์ ๋ฐํ
'Front-End > AJAX' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AJAX] Ajax๋? ??? (0) | 2022.05.27 |
---|