Developer Note/국비과정 수업내용 정리&저장

24년 11월 7일

DH_PARK 2024. 11. 19. 12:36

mvc 흐름 :

topHeader 에서 로그인 버튼을 누른다

→ 누르면 이건 get 방식으로 controller 에 요청을 보냄.

→ controller 에서 get 방식으로 endPoint 를 받아 특정 SubController 로 보내서 기능을 수행하게 한다.

→특정 컨트롤러에서 메서드가 get 방식이라면 로그인 페이지로 포워딩을 한다. (여기서 약간 헷갈림. 이 단계에서는 아무 정보도 없는데 포워딩할 필요가 있나 ? )

→ 로그인 페이지에서 post 방식으로 데이터를 다시 보낸다.

→보낸 데이터를 컨트롤러에서 파라미터로 받는다. (여기서 파라미터는 name 같은 데이터들임)

→ 파라미터를 받아서 특정 작업들을 수행한다. service , dao 같은 데이터에 접근을 하는 기능을 수행시킴.

→ 기능이 수행되고 나면 새로운 창으로 redirecting 하거나 기능이 제대로 수행되지 않았다면 다시 페이지로 돌아가거나 하는 등의 기능을 수행한다.

 

인터넷 페이지에서 동작흐름이 잘 이해가 가지 않아 다시한번 정리해서 적어보았다.

jsp 페이지에서 버튼을 누르거나 a 태그로 링크로 이동하는것도 get 방식이라고 한다.

그리고 js 함수에서 다른 함수를 불러오는것도 get 방식이라고 한다.


 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<div class="top-header layout  bg-success text-light">
	
	<ul>
	
		<%
			String role = (String)session.getAttribute("role");
			if(role == null)
			{
		%>
				<li><a href="${pageContext.request.contextPath}/login">로그인</a></li>
				<li><a href="${pageContext.request.contextPath}/join">회원가입</a></li>
		<%
			}
			else
			{
		%>
				<li><a href="${pageContext.request.contextPath}/user/myinfo">나의정보</a></li>
				<li><a href="${pageContext.request.contextPath}/logout">로그아웃</a></li>
		<% 
			}
		%>
		
		
		
	</ul>
	
</div>

 

top-header jsp 부분인데 여기서 sessino에서 getAttribute 를 role로 받는 이유는

실제 사이트라면 role에 따라 로그인을 했을 때 나올 버튼을 다르게 하기위해서이다.

만약 id를 파라미터로 받아버리면 구분을 역할에 따른 구분을 할 수가 없기 때문에 role을 파라미터로 위에 어떤 버튼이 뜰지 구분시킨다. role을 파라미터로 받을 수 있다는것은 로그인은 기본적으로 되어있다는 뜻이기 때문이다.

'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글

24년 11월 08일  (2) 2024.11.21
24년 11월 06일  (0) 2024.11.20
24년 11월 5일  (0) 2024.11.11
24년 11월 4일  (4) 2024.11.06
24년 11월 1일  (3) 2024.11.05