* XML 태그를 만들어 호출한 곳으로 전송하는 예제

 


test02.html  --> server2.jsp ( 결과를 xml 태그로 만들어 전송 ) --> test02.html

 

오늘날짜출력 버튼을 클릭

 


< test02.html >


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

<script type="text/javascript">

    var xhr=null;

    function getXHR(){

        //1. XMLHttpRequest객체 얻어오기

        if(window.XMLHttpRequest){

            //IE 7.0이상, Chrome, FireFox, safari,..

            return new XMLHttpRequest();

        }else{

            //IE 하위버전(6.0이하)

            return new ActiveXObject("Microsoft.XMLHTTP");

        }

    }

    function getToday(){

        //1. xhr객체 얻어오기

        xhr=getXHR();


        //2. callback메소드 설정

        xhr.onreadystatechange=getServerDate;


        //3. open설정(서버주소,..)

        xhr.open("GET","server2.jsp",true);


        //4. send메소드로 서버에 요청.

        xhr.send(null);

    }

    //서버로 부터 응답이 오면 자동호출

    function getServerDate(){

        if(xhr.readyState==4 && xhr.status==200){

            var xml=xhr.responseXML;

            // firstChild는 객체. 그 값은 .nodeValue를 사용.

            var tt=xml.getElementsByTagName("today")[0].firstChild.nodeValue;

            var div=document.getElementById("today");

            div.innerHTML=tt;

        }

    }

</script>

</head>

<body>

<input type="button" value="오늘날짜출력" onclick="getToday()"/>

<div id="today">

</div>

</body>

</html>


 


 

< server2.jsp >

<%@page import="java.io.PrintWriter"%>

<%@page import="java.util.Calendar"%>

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%

//오늘날짜 구하기

Calendar gg=Calendar.getInstance();

//오늘날짜를 문자열에 담기

String str=gg.get(Calendar.YEAR) +"년" + 

           (gg.get(Calendar.MONTH)+1) +"월" +

         gg.get(Calendar.DATE) + "일";

//xml로 응답하기위한 문자열객체 만들기

StringBuffer sb=new StringBuffer();

sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

sb.append("<data>");

sb.append("<today>" + str +"</today>");

sb.append("</data>");

//xml로 응답하기위한 콘텐츠타입설정

response.setContentType("text/xml;charset=euc-kr");

//xml로 응답하기위한 스트림객체 얻어오기

PrintWriter pw=response.getWriter();

//xml로 클라이언트에 응답하기

pw.write(sb.toString());

pw.close();

%>

 

 

 

'WEB > Ajax Json' 카테고리의 다른 글

AJAX #06 JSON 관련 jar, javascript파일  (0) 2013.05.04
AJAX #05 JSON  (0) 2013.05.04
AJAX #04 댓글 달기 예제  (1) 2013.05.04
AJAX #02 xml파일을 읽어서 화면에 표시하는 예제  (0) 2013.05.04
AJAX #01 설명  (0) 2013.05.04

+ Recent posts