Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
more
Archives
Today
Total
관리 메뉴

WON.dev

Ex01 . data.jsp / xhr1.jsp / xhr2.jsp 본문

JSP/AJAX.1

Ex01 . data.jsp / xhr1.jsp / xhr2.jsp

GAWON 2023. 6. 23. 09:28
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>
		<ul>
			<li>이름 : 김</li>
			<li>나이 : 20</li>
		</ul>
	</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%--
		ajax : asynchronous javascript and xml
		- 비동기식으로 Javascript와 xml을 사용하는 방식
		- 현재는 xml보다 json을 이용
	
	1. asynchronous : 비동기통신을 의미 (클라이언트가 서버에게 정보를 요청하고,
	   서버가 응답할때까지 기다리지 않는 통신 방식)
	   - 페이지 단위로 로드하지 않고, 페이지의 일부 단위를 받아서 페이지 동적 갱신
	
	2. XMLHttpRequest 객체
	   javascript 에서 ajax 처리를 할 때 필요한 객체
	 --%>
	 
	<h1>Ex01_xhr.jsp 페이지 입니다.</h1>
	<hr>
	
	<script type="text/javascript">
		// 1. XMLHttpRequest 객체생성
		var xhr = new XMLHttpRequest();
		
		// 2. open(스트림 열기)
		// open(전송방식, 경로, 비동기유무)
		// 1) 전송 방식 : get, post
		// 2) 비동기 유무 : true(비동기), false(동기)
		xhr.open("get", "data.jsp", false);
		
		// 3. send
		xhr.send();
		
		// 4. responseText(결과)
		document.body.innerHTML += xhr.responseText;
	</script>
	
	<hr>
	<h1>Ex01_xhr.jsp 페이지 입니다.</h1>
	 
	 
	 
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<script type="text/javascript">
		var xhr = new XMLHttpRequest();
		
		/*
			onreadystatechange 이벤트 속성
			1) 각 진행 단계를 확인하는 이벤트 속성
			2) onreadystatechange 이벤트 속성을 사용하면 "비동기 통신"을 할 수 있다.
			
			readyState 값  : 데이터의 전송 결과 
			0 : 객체 생성, open 안 함
			1 : open() 함, send() 안함
			2 : send() 함, 데이터를 받지 않음
			3 : send() 함, 데이터의 일부만 받음
			4 : 성공
			
			status 값 : 오류 관련
			200 : 정상(오류 없음)
			4XX : 클라이언트 측 오류
			5XX : 서버 측 오류				
		*/
		
		xhr.onreadystatechange = function(){
			if(xhr.readyState == 4){
				if(xhr.status == 200){
					document.body.innerHTML += xhr.responseText;
				}
			}
		}
		
		xhr.open("get", "data.jsp", true);
		xhr.send();
		
		
		
		
	</script>
</body>
</html>