본문 바로가기
Front-end (국비)/메모

23.06.30 메모 3 (JSP_MVC 패턴으로)

by Hwanii_ 2023. 7. 1.
728x90

1.

V에서 V로 가는 흐름은 XXX

 

반드시,

 

V >> C >> V

 

의 흐름 이어야 한다.

 

왜 그럴까 ?

 

지금은 공부 단계라,

V에서 V로 바로 가더라도 전송되는 데이터 자체가 없을 수 있는데,

 

실무에서는 V에서 다음 페이지로 이동할 때,

무조건 그냥 데이터 전송이 있다고 보면 된다.

아주 작은 데이터라도 무조건 데이터를 전송 할 수 밖에 없다.

 

그래서, 데이터 전송이 이루어 지기에,

 

V >> V가 아닌,

 

V >> C >> V 이다.

 

2.

V에서 C로 데이터를 전송 할 때,

 

데이터 전송도 전송이지만,

 

제일 중요한건, Controller 에서 어떤 기능을 수행 할건지를 

구분 하기 위해서 필요한 action 값을 꼭 보내 줘야 한다.

 

그래야지, action 값을 받고, 어떤 기능을 수행 할지 구분을 할 수 있다.

 

3.

Controller 페이지 에서 반드시 이 코드가 상단에 배치 되어 있어야 한다.

 

<% String action = request.getParameter("action"); %>

 

action 매개변수 (파라미터) 의 값을 받아와서, String action에 넣어야지,

 

해당하는 기능을 C가 수행 할 수 있기에,

 

우선적으로, request 주체가 get 을 해야 한다.

 

4.

로그를 잘 활용 하기.

 

앞으로 계속 해서, 로그를 활용 해야 한다.

 

매우 매우 로그는 중요 하기에, 많이 찍어보고, 로그를 많이 사용 하자.

 

 

이런식으로 찍으면 된다.

 

System.out.println 은 이클립스의 console 창에 뜨는 로그 이다.

 

만약에, 웹 페이지 에서 로그를 확인 하고 싶다면,

 

<script> 태그 내부에, out.println(); 으로 사용 하면,

 

웹 브라우저 에서 f12 를 눌러서 콘솔에서 로그를 확인 할 수 있다.

 

5.

로그 찍기 개념의 연장선 으로,

 

 ★★★★★★★ 원인 파악 하기 ★★★★★★★

에러의 위치.

에러의 원인.

데이터의 현재 상태.

원하는 데이터는 어떤 형태 인지 ?

이렇게 위의 4가지는 알고, 도움을 요청 하는것 이랑, 모르고 요청 하는것 이랑은 완전 다르겠지 ?

 

6.

 

예시)

 

ArrayList<BoardVO> datas = bDAO.selectAll(null);

request.setAttribute("datas", datas);

request.getRequestDispatcher("b_main.jsp").forward(request, response);

 

해서, forward로 데이터를 해당 페이지로 전송 시켜 줄때,

 

request : 요청 내장 객체.

response : 응답 내장 객체.

forward()의 인자로 위의 두개를 넣어줘야 한다. 왜 ? forward()는 그냥 저 두개가 꼭 필요 하기 때문에.

문법이다.

 

request.getRequestDispatcher("").forward(arg0, arg1);

 

7.

 

else { // 사용자로부터 이상한 값이 들어오면 에러를 방지 하기 위한 코드 이다.

out.println("<script>alert('

action 파라미터의 값이 유효 하지 않습니다 ..');history.go(-1);</script>");

}

 

V 에서 C에게 유효 하지 않는 action 값을 보내줬을 때,

에러를 방지 하기 위한 코드 이다.

 

사실, Controller 페이지는 alert('') 도 있으면 안되지만, 연습이라 일단 이렇게 처리 했다.

 

 

 

 

 

8.

DB를 꼭 들어가서 데이터를 확인 해야 하는 상황이 아니라면,

V 단위 에서 (프론트 단위) 데이터를 비교 하는 식으로 처리 하면 좋을듯 하다.

 

DB에 들어가는 행위 자체가, 서버 비용이 들어가기에..

 

메모..

반응형

'Front-end (국비) > 메모' 카테고리의 다른 글

커스텀 태그로 View 모듈화 하기  (0) 2023.07.05
프론트 엔드 특징 메모  (0) 2023.07.04
23.06.30 메모 2 (JSP_MVC 패턴으로)  (0) 2023.07.01
23.06.30 메모 (JSP_MVC 패턴으로)  (0) 2023.06.30
메모  (0) 2023.06.28