AJAX-@ResponseBody

임재헌·2023년 5월 12일
0

AJAX

목록 보기
7/10

viewpage

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test02</title>
<script src="../js/jquery-3.6.4.min.js"></script>
<script src="../js/jquery.cookies.js"></script>
</head>
<body>
<h3>$.ajax() 테스트</h3>
<button id="btn">서버에서 응답받기</button>
<div id="panel"></div>

<script>
//1. $.ajax()함수
// 형식 $.ajax({name:value, name:value, nmae:value})
/* $("#btn").click(function(){
	$.ajax({
		url:"message.do",	//요청 명령어
		type:"get",				//get 방식
		dataType:"text", 		//응답 메세지 타입
		error:function(error){
			alert("에러:"+error);
		},
		success:function(result){
			//alert("성공:"+result);
			
			$("#panel").append(result);
			
			//$("#panel").empty();
			//$("#panel").text(result);
			//$("#panel").html(result);
			
		}
		});
}); */
 
 
 //2. $.get()
 //AJAX를 GET방식으로 요청하는 함수
 // $.GET("요청명령어",CALLBACK 함수)
 $("#btn").click(function(){
	$.get("message2.do",responseProc);
});

function responseProc(result){
	$("#panel").append(result);	
}
</script>

</body>
</html>

controller

package kr.co.ajax.ajaxtest;

import java.io.PrintWriter;

import javax.print.DocFlavor.STRING;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class AjaxTestCont {

	public AjaxTestCont() {
	System.out.println("ajaxCont 객체 생성됨");	
	}
	
	//localhost:9095/ajaxtest01.do
	
	@RequestMapping("ajaxtest01.do")
	public String ajaxTest01() {
		return "ajax/ajaxTest01";
	}
	
	@RequestMapping("ajaxtest02.do")
	public String ajaxTest02() {
		return "ajax/ajaxTest02";
	}
	
	@RequestMapping(value="message.do",method = RequestMethod.GET)
	public void message(HttpServletResponse resp) {
		try {
			//UTF-8방식
			resp.setContentType("text/plain; charset=UTF-8");
			
			//요청한 사용자에게 응답하기 위한 출력객체
			 PrintWriter out=resp.getWriter();
			 out.println("서버에서 응답해준 메세지:");			 
			 out.println("무궁화 꽃이 피었습니다");
			 out.flush();
			 out.close();
			
			
		} catch (Exception e) {
			System.out.println("응답 실패"+e);
		}
	}
	
	//@ResponseBody 활용한 메세지 전송
	// jsp view를 이용하지 않음
	//response 객체에 직접 출력
	//return 값을 그대로 브라우저에 전송
	@ResponseBody
	@RequestMapping(value="message2.do",method = RequestMethod.GET)
	public String message2() {
		return "서버에서 응답한 메세지: GONE WITH THE WIND";
	}
}

0개의 댓글