관리 메뉴

JHLBLUE

서버로부터 메시지 받아서 팝업 띄우기 (2. AJAX 이용) 본문

개발/전자정부프레임워크

서버로부터 메시지 받아서 팝업 띄우기 (2. AJAX 이용)

JHLBLUE 2017. 11. 27. 13:51

서버로부터 메시지를 받아와 이를 사용자에게 표시하는 다른 방법으로 AJAX를 사용했다.

AJAX를 사용하는 이유는 기존의 ModelAndView를 사용하는 경우에는 서버의 response에 ModelAndView에 해당하는 View의 데이터도 그대로 사용자에게 전송되기 때문에 비효율적이다.


1. ajax를 사용하기 위해 스크립트 추가

1
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
cs


2. jsp에서 ajax로 통신하는 코드 추가, 통신을 하기 위한 버튼 추가

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<button onClick="getServerMessage('클라이언트의 메시지입니다.')"></button>
<script>
    function getServerMessage(clientMessage){
        $.ajax({
            url:'/message.do',
            type:"POST",
            data:"message=" + clientMessage,
            cache:false,
            success:function(result){
                console.log("success")
                console.log(result)
                alert(result)
            }
        })
    }
</script>
cs



3. 서버에서 파라미터를 처리하고 사용자에게 메시지를 전송하는 코드 추가

1
2
3
4
5
6
7
8
9
10
@RequestMapping(value = "message.do")
public void message(HttpServletRequest request, HttpServletResponse response) {
    String clientMessage = request.getParameter("message");
    try{
        response.setCharacterEncoding("UTF-8");
        response.getWriter().print("클라이언트의 메시지 : " + clientMessage);
    }catch(Exception e){
        e.printStackTrace();
    }
}
cs


4. 메시지 확인하기


Comments