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 |