ํฐ์คํ ๋ฆฌ ๋ทฐ
Programming/JQuery
Java/Spring/Jsp/Jquery Ajax์ด์ฉ xml ๋ฐ์ดํฐ post ์ ์ก ํ xml ๋ฐ์ดํฐ ํํ๋ก ๊ฒฐ๊ณผ ๋ฐ๊ธฐ
๋ค๋ฃจ์ฌ๋ฌด 2013. 11. 4. 10:03๋ฐ์ํ
๐ป Java / Spring / JSP / jQuery Ajax๋ก XML ๋ฐ์ดํฐ ์ ์ก ๋ฐ ์์ ํ๊ธฐ
๋ณธ ์์ ๋ jQuery Ajax๋ฅผ ์ด์ฉํด XML ๋ฐ์ดํฐ๋ฅผ POST ๋ฐฉ์์ผ๋ก ์ ์กํ๊ณ ,
์๋ฒ(Spring/Java/JSP)์์ ์ฒ๋ฆฌ ํ XML ํํ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ๋ฐ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ ๊ฒ์
๋๋ค.
๐งฉ ์ ์ฒด ์ฒ๋ฆฌ ํ๋ฆ
- ํด๋ผ์ด์ธํธ (JavaScript)
โ$.ajax()๋ฅผ ์ด์ฉํด XML ์์ฒญ ์ ์ก - ์๋ฒ (Java / JSP)
โ XML ๊ตฌ์ฑ ๋ฐ ์ธ๋ถ ์๋ฒ๋ก POST ์ ์ก
โ ๊ฒฐ๊ณผ๋ฅผ XML ํํ๋ก ์๋ต - ํด๋ผ์ด์ธํธ (JavaScript)
โ ๊ฒฐ๊ณผ XML์์<STATUS>๊ฐ ํ์ธ ๋ฐ ์ฒ๋ฆฌ
๐ง 1๏ธโฃ jQuery Ajax ์์
function jsXmlFunc() {
$.ajax({
type: 'POST',
url: 'testUrl.do', // ์คํํ ์๋ฒ ์ธก URL
dataType: 'xml', // ์๋ต์ XML ํ์์ผ๋ก ๋ฐ์
data: { u_memo: 'xml ์คํ ๋ฉ๋ชจ' }, // ๋ณด๋ผ ๋ฐ์ดํฐ
success: function(result) {
// XML ๋ฐ์ดํฐ ์ค STATUS ๋
ธ๋ ๊ฐ ํ์ธ
if ("OK" == $(result).find("STATUS").text()) {
alert("XML ์ ์ก ์ฑ๊ณตํ์์ต๋๋ค.");
} else {
alert("XML ์ ์ก ์คํจํ์์ต๋๋ค.");
}
},
error: function(result) {
alert("error !");
}
});
}
๐
dataType: 'xml'์ ์ง์ ํด์ผ jQuery๊ฐ ์๋ต์ XML DOM ๊ฐ์ฒด๋ก ํ์ฑํฉ๋๋ค.
๐งพ 2๏ธโฃ ์๋ฒ (Java / Spring Controller)
์๋ ์ฝ๋๋ Java ๊ธฐ๋ฐ Controller์์ XML ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ๋ก ์ ์กํ ๋ค,
์๋ต ๊ฒฐ๊ณผ๋ฅผ XML ํํ๋ก ๋ค์ ๋ฐํํ๋ ์์ ์
๋๋ค.
import java.io.*;
import java.net.*;
import javax.servlet.http.*;
import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping(value = "testUrl.do")
public ActionForward testUrl(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response, Box box) throws Exception {
URL url = new URL("http://www.test.com/recive.do"); // XML ์ ์ก ๋์ URL
HttpURLConnection httpurlcnn = (HttpURLConnection) url.openConnection();
httpurlcnn.setConnectTimeout(10000);
httpurlcnn.setDoInput(true);
httpurlcnn.setDoOutput(true);
httpurlcnn.setUseCaches(false);
httpurlcnn.setRequestMethod("POST");
httpurlcnn.setRequestProperty("Content-Type", "application/xml; charset=UTF-8");
// ์ ์กํ XML ๋ฐ์ดํฐ ๊ตฌ์ฑ
String xmlData = "";
xmlData += "<DATA>";
xmlData += "<NAME>ํ๊ธธ๋</NAME>";
xmlData += "<AGE>25</AGE>";
xmlData += "<ADDR>์์ธํน๋ณ์</ADDR>";
xmlData += "</DATA>";
// XML ์ ์ก
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(httpurlcnn.getOutputStream(), "UTF-8"));
wr.write(xmlData);
wr.flush();
wr.close();
// ์๋ต ์์
String xmlPasingStr = "";
BufferedReader br = new BufferedReader(new InputStreamReader(httpurlcnn.getInputStream(), "UTF-8"));
String line;
while ((line = br.readLine()) != null) {
xmlPasingStr += line;
}
br.close();
// ๊ฒฐ๊ณผ XML ์ถ๋ ฅ
return getXmlView(response, xmlPasingStr);
}
// XML ๋ฌธ์์ด์ Response๋ก ์ถ๋ ฅ
public void getXmlView(HttpServletResponse response, String xmlPasingStr) throws IOException {
response.setContentType("text/xml;charset=UTF-8");
PrintWriter pw = response.getWriter();
pw.write(xmlPasingStr);
pw.close();
}
๐งพ 3๏ธโฃ ์๋ต XML ์ํ
<?xml version="1.0" encoding="euc-kr"?>
<RESULT>
<STATUS>OK</STATUS>
<MSG>์ฑ๊ณต</MSG>
</RESULT>
๐ก encoding ์ ํ๊ธ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ ๊ฒฝ์ฐ
euc-kr๋๋utf-8์ค ์ํฉ์ ๋ง๊ฒ ์ง์ ํฉ๋๋ค.
๐ง 4๏ธโฃ ๋์ ์์ฝ
| ๋จ๊ณ | ๊ตฌ๋ถ | ๋ด์ฉ |
|---|---|---|
| 1 | jQuery | Ajax๋ก XML ์์ฒญ POST ์ ์ก |
| 2 | Java | XML ์์ฑ โ ์ธ๋ถ ์๋ฒ๋ก ์ ๋ฌ |
| 3 | Java | ์๋ต XML ์์ ๋ฐ ํด๋ผ์ด์ธํธ๋ก ๋ฐํ |
| 4 | jQuery | XML ๊ฒฐ๊ณผ์ <STATUS> ๊ฐ ํ์ธ ํ ์ฒ๋ฆฌ |
โ 5๏ธโฃ ํ ๋ฐ ์ฃผ์์ฌํญ
Content-Typeํค๋๋ ๋ฐ๋์"application/xml; charset=UTF-8"๋ก ์ง์ ํด์ผ ํจ- jQuery
dataType์์ฑ์ดxml์ด ์๋ ๊ฒฝ์ฐ, ์๋ต ํ์ฑ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ - XML ๋ฌธ์์ ์ต์์ ํ๊ทธ(๋ฃจํธ)๋ ๋ฐ๋์ ํ๋์ฌ์ผ ํจ (
<RESULT>...</RESULT>) - ์ธ๋ถ ์๋ฒ ํธ์ถ ์
ConnectTimeout์ ์ ์ ํ ์ค์ ํ์ฌ ์ง์ฐ ๋ฐฉ์ง
'Programming > JQuery' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| jquery๋ฅผ ์ด์ฉํด์ iframe ์คํฌ๋กคํ๊ธฐ (0) | 2021.12.15 |
|---|---|
| jQuery $.each ์ฌ์ฉ์ setTimeout ์ ์ฉ ๋ฐฉ๋ฒ (0) | 2019.03.05 |
| ํ๊ธ ๋ฌธ์์ด ์๋ฅด๊ธฐ, ํ๊ธ ๋ฌธ์์ด ๊ธธ์ด ๊ตฌํ๊ธฐ (0) | 2014.01.06 |
| input์ ํ๋ คํ ๋ณ์ Fancy Input (0) | 2013.11.18 |
| Jquery Ajax ์ฌ์ฉ์ ์ ์ฉํ ์๋ฌ ๋ฉ์์ง (0) | 2013.11.05 |
๋๊ธ
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- ์ค๋ผํด ์ธ์
- ๋ฝ๊ฑธ๋ฆผ
- html
- internal error
- ํธ์ํฐ ์์ ฏ
- ์ค๋ผํด ๋ณต๊ตฌ
- ๋ช ๋ น์ด
- ํธ์ํฐ ํ์๋ผ์ธ ์์ ฏ
- ์ฌ์ฉ์์ญ์
- ์๊ฐ๋น๊ต
- jQuery
- javascript
- webtob
- ์์๋ฅผ
- ๋์ฒด์ด
- this
- ์ค๋ผํด
- jeus
- Java
- IE๋ชจ๋
- ์๊ฐ์ง์
- ์ค๋ผํด ๋ฝ
- IE๋์ธ์ ์์ด์ง๋
- lock
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ก๊ทธ์ด๊ธฐํ
- 0์ผ๋ก
- ์นํฌ๋น
- Oracle
- oracle ์ค๋ฐ๊ฟ
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
๊ธ ๋ณด๊ดํจ