본문 바로가기
Web Programming/Script

JSP의 Session값 Ajax로 Controller에 보내기

by hyeon-H 2021. 6. 28.
728x90
반응형

홈페이지의 마이페이지에서는 로그인되어있는 회원이 작성한 글만을 보여주기 위해서

로그인된 회원의 정보를  Controller로 보내서 DAO에서 메소드의 매개변수로 넘겨줘야했다.

JSP의 세션(session)값을 ajax를 통해서 컨트롤러(Controller)에서 가져오는 방법이다.


회원이 로그인 화면화면에서 로그인을 성공적으로 하게되면 Controller에서는 회원고유번호(midx)를  Session값에 저장을 한다.

if (midx > 0) { 
	HttpSession session = request.getSession();	
	session.setAttribute("midx", midx);
	out.println("<script>document.location.href='"+request.getContextPath()+"/EventMan_Main/EventMan_Main.jsp'</script>");	
}

 

JSP에서는 Controller에서 Session에 저장된 회원번호(midx)를 session.getAttrbute를 통해 가지고 오게된다.

<%
  int midx = 0; 
  if (session.getAttribute("midx") != null) {
 	 midx = (int)session.getAttribute("midx");
  }
  out.println(midx);
%>

 

 

JSP페이지에서 가지고 있는 Session값을  Ajax를 이용하여 Controller에 접근하면서 Session값이 가지고 있는 회원번호를 같이 보내주는 방법이다.

/* 1번 방법 */
function myBoardListFn(){

var midx = <%=midx%>;

	$.ajax({
		url:"<%=request.getContextPath()%>/EventMan_Board/EventMan_Mypage_myboardlist.do", 
		typy:"post",
		data:{midx:midx},
		datatype:"html",
		success:function(data){
			$("#mypageajax").html(data);
		}
	});
};

/* 2번 방법 */
function myBoardListFn(){

var midx = <%=midx%>;

	$.ajax({
		url:"<%=request.getContextPath()%>/EventMan_Board/EventMan_Mypage_myboardlist.do?midx="+midx, 
		typy:"post",
		data:"",
		datatype:"html",
		success:function(data){
			$("#mypageajax").html(data);
		}
	});
};

 

컨트롤러(Controlle)에서 ajax에서 보낸 데이터를 받는 방법이다.

if(str2.equals("EventMan_Mypage_myboardlist.do")) {

String midx = request.getParameter("midx");	//ajax에서 넘기는 midx를 받는부분

BoardServiceImpl boarddao = new BoardServiceImpl();
ArrayList alistboard = boarddao.selectmyboardlist(midx);	//dao의 메소드에 midx를 매개변수로 넘겨주는 부분

request.setAttribute("alistboard", alistboard);

RequestDispatcher rd =request.getRequestDispatcher("/EventMan_Mypage/EventMan_Mypage_myboardlist.jsp");
rd.forward(request, response);
}


    

728x90
반응형