Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ํ๊ตญ์ ๋ ฅ๊ณต์ฌ
- ์๋ฐ
- ์ ๊ธฐ์๊ธ๊ณ์ฐ
- ์์ด์ญ์ค
- ํ์๊ด
- ์ฐ์ ์ฉ
- ๋จธ์ ๋ฌ๋
- Kepco
- python
- ์ ๊ธฐ์๊ธ
- ๋์ปค
- docker
- ํ์ด์ฌ
- Spring
- java
- ์ฐ์ ์ฉ์ ๊ธฐ์๊ธ
- crawling
- ๋ฐ์ ๋
- ๊ทธ๋ํ
- ํ๊ตญ์ ๋ ฅ
- ํฌ๋กค๋ง
- ํ์
- ์ ๊ธฐ
- Machine Learning
- ์์ธก
- AWS
- ์์์ค
- EC2
- ์ ๋ ฅ
- ์ ๋ ฅ๊ณํต
Archives
- Today
- Total
gyeomii
AJAX(2) - JSP์ ์ฐ๊ณ ๋ณธ๋ฌธ
๋ฐ์ํ
๐HTMLํ์ผ
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="../css/outStyle.css">
<script src="../js/jquery-3.6.0.min.js"></script>
<style>
table {
text-align: center;
}
</style>
</head>
<body>
<input type="button" id="type_json" value="ํ์
json">
<input type="button" id="type_html" value="ํ์
html">
<div></div>
<script>
$('#type_json').on('click', function () {
$.ajax({
url: 'lprod.jsp', //jsp - mvc1ํจํด
// type : 'get',
success: function (data) {
let result = "<table border='1'>";
result += "<tr>";
result += "<th>lprod_id</th>";
result += "<th>lprod_gu</th>";
result += "<th>lprod_nm</th>";
result += "</tr>";
$.each(data, function(){
result += "<tr>";
result += "<td>" + this.lprod_id + "</td>";
result += "<td>" + this.lprod_gu + "</td>";
result += "<td>" + this.lprod_nm + "</td>";
result += "</tr>";
});
result += "</table>";
$('div').html(result);
},
error: function (xhr) {
alert("์ํ : " + xhr.status);
},
// complete
dataType: 'json'
});
});
</script>
</body>
</html>
$.ajax()๋ฉ์๋
$.ajax({
url: 'lprod.jsp',
// type : 'get',
success: function (data) {
let result = "<table border='1'>";
$.each(data, function(){
result += "<tr>";
result += "<td>" + this.lprod_id + "</td>";
result += "<td>" + this.lprod_gu + "</td>";
result += "<td>" + this.lprod_nm + "</td>";
result += "</tr>";
});
result += "</table>";
$('div').html(result);
},
error: function (xhr) {
alert("์ํ : " + xhr.status);
},
// complete: function(){},
dataType: 'json'
});
$.ajax()๋ฉ์๋ ์ ๋ฆฌ
๋ฉ์๋ | ์ค๋ช |
---|---|
url | ์์ฒญ์ ๋ณด๋ผ URL์ ๋ํ๋. default๋ ํ์ฌ ํ์ด์ง |
type | ์์ฒญ type. default๋ get (์๋ต๊ฐ๋ฅ) |
sucess( result, status, xhr ) | ์์ฒญ์ด ์ฑ๊ณตํ์ ๋ ์ํ๋๋ ํจ์ |
error( xhr, status, error ) | ์์ฒญ์ด ์คํจํ์ ๋ ์คํ๋๋ ํจ์ |
complete( xhr, status ) | ์์ฒญ์ด ์๋ฃ๋์ ๋ ์คํ๋๋ ํจ์ |
dataType | ์๋ฒ์๋ต์ผ๋ก ๋ฐ๋ ๋ฐ์ดํฐ ํ์ ( json, html ๋ฑ) |
- success : function(data){data๋ฅผ ๊บผ๋ด์ค๋ ๊ณผ์ } | |
- $.each() ์ค๋ช ๋งํฌ : JSON๋ฐ์ดํฐ ํ์ฑํ๊ธฐ | |
- error : function(xhr){xhr.status} | |
- xhr : XMLHttpRequest์ ์ํ๋ฅผ ๊ฐ์ ธ์ด (๊ด๋ จ๋งํฌ : readyState ํ๋กํผํฐ) |
๐JSPํ์ผ
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//์ปค๋ฅ์
๊ฐ์ฒด ๋ง๋ค๊ณ
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "userId";
String password = "password";
Connection conn = DriverManager.getConnection(url, user, password);
//db์ ์ ๊ทผํด์ sql์คํํ๊ณ
Statement stmt = conn.createStatement();
String sql = "select * from lprod";
// stmt.executeQuery(sql);
ResultSet rs = stmt.executeQuery(sql);
//๊ฒฐ๊ณผ๊ฐ ์ ๋ฐ์์ json object array๋ก ๋ง๋ค์ด์
%>
[
<%
int i = 0;
while (rs.next()) {
int id = rs.getInt("lprod_id");
String gu = rs.getString("lprod_gu");
String nm = rs.getString("lprod_nm");
//json object ์์ฑ
if (i > 0){
out.print(",");
}
%>
{ "lprod_id" : "<%=id%>", "lprod_gu" : "<%=gu%>", "lprod_nm" : "<%=nm%>" }
<%
i++;
} //while end
%>
]
JSPํ์ผ์์ DB์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ
Connection ๊ฐ์ฒด๋ฅผ ์์ฑํด ์ ๊ทผํ๋ค.
Connection conn = DriverManager.getConnection(url, user, password);
Connection๊ฐ์ฒด๋ก ์ฐ๊ฒฐ๋๋ฉด Statement๊ฐ์ฒด๋ก SQL์ ์คํํ๋ค.
Statement stmt = conn.createStatement(); String sql = "select * from lprod";
SQL๋ก ๊ฒ์๋ ๋ฐ์ดํฐ๋ฅผ ResultSet์ ๋ด์์ JSPํ์ผ๋ก ๊ฐ์ ธ์จ๋ค.
ResultSet rs = stmt.executeQuery(sql);
๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํํ์ ๋ง๊ฒ ๊บผ๋ด๊ธฐ
ResultSet์ next()๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ๊บผ๋ธ๋ค.
๋ฐ์ดํฐ์ ๋ง๋ ํ์ ์ ๋ณ์๋ฅผ ์ ์ธํ๊ณ get(โ์ปฌ๋ผ๋ช โ)๋ฉ์๋๋ก ์ปฌ๋ผ ๋ณ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ธ๋ค.
while (rs.next()) { int id = rs.getInt("lprod_id"); String gu = rs.getString("lprod_gu"); String nm = rs.getString("lprod_nm"); }
๊บผ๋ธ ๋ฐ์ดํฐ๋ฅผ JSON Object ํํ๋ก ๋ด๋๋ค.
{ "lprod_id" : "<%=id%>", "lprod_gu" : "<%=gu%>", "lprod_nm" : "<%=nm%>" }
์ฃผ์์ฌํญ
- JSPํ์ผ์์ ์๋ฐ์ฝ๋๋ฅผ ์์ฑํ ๋๋ <% %> (scriptlet, ์คํฌ๋ฆฝํธ๋ฆฟ) ์์์ ํด์ผํ๋ค.
- ์คํฌ๋ฆฝํธ๋ฆฟ์์๋ ์๋ฐ์ฝ๋๊ฐ ์๋ ๋ฌธ์์ด์ด ๋ค์ด๊ฐ ์ ์๋ค.
- JSON Object์ ํํ๋ฅผ ์ก๊ธฐ์ํด ๋ฌธ์์ด์ ์ ์ ๋๋ ์ ํ๋ก ์คํฌ๋ฆฝํธ๋ฆฟ์ ๋์ด์ค์ผํ๋ค.
<%
:
์๋ฐ์ฝ๋
:
%>
[ //JSON Objet Array ํํ
<%
:
์๋ฐ์ฝ๋
:
%>
{ "lprod_id" : "<%=id%>", "lprod_gu" : "<%=gu%>", "lprod_nm" : "<%=nm%>" }
<%
:
์๋ฐ์ฝ๋
:
%>
] //JSON Objet Array ํํ
๋ฐ์ํ
'๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HTML์ ๋์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ (0) | 2023.07.14 |
---|---|
JavaScript ์์ (0) | 2023.07.04 |
AJAX(1) (0) | 2023.06.30 |
MVC ํจํด (0) | 2023.06.26 |
[Python] JSON, CSV ์ฝ๊ณ ์ฐ๊ธฐ (0) | 2023.06.16 |