Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

어? 이게 되네

2022.05.20. 금요일 이공계 전문기술 연수사업 (MVC) 본문

TIL

2022.05.20. 금요일 이공계 전문기술 연수사업 (MVC)

토끼귀에진주귀걸이 2022. 5. 20. 23:31

오늘 배운 것

ºpstmt.executeUpdate(sql)은 쓰지 않음
pstmt객체를 생성할 때 이미 sql을 가지고 생성했기 때문에
그 다음 ?를 정해진 상태인데
pstmt.executeUpdate(sql)를 하게 되면 물음표를 지정하지 않고 sql을 쓰게 되는 꼴임

crud
ㄴcreate insert
read select
update update
delete delete

º신입 개발자에겐 데이터구조를 보고 참고 자료없이 crud가 가능하도록 요구됨

mvc패턴
ㄴmodel view controller 의 약자로 웹 어플리케이션을 비즈니스 로직,프레젠테이션 로직,데이터로 분리하는 디자인 패턴

비즈니스 로직
ㄴ어플리케이션의 데이터, 즉 고객,제품,주문 정보의 조작에 사용하는(일처리를 위한) 핵심 코드

프레젠테이션 로직
ㄴ어플리케이션이 사용자에게 어떻게 표시되는지(사용자에게 보여지기 위한) 즉 위치,폰트,크기 등등을 나타내는 코드

요청 처리 데이터
ㄴ비즈니스 로직과 프레젠테이션 파트를 함께 묶는 것

mvc패턴의 구성요소
ㄴ모델:어플리케이션의 데이터와 비즈니스 로직을 담는 객체(사용자의 일처리를 위한 모든 자바 클래스) jsp안에서 모든 자바 문법(일처리)를 걷어내서 그것을 모델에 맡김,java임
뷰:사용자에게 모델의 정보(데이터)를 보여주는 역할. 비즈니스 로직을 포함하지 않으며 하나의 모델을 다양한 뷰에서 사용 ,그래서 jsp는 보여주기 역할(뷰의 역할) 만을 함,jsp임
컨트롤러:모델과 뷰 사이에 어떤 동작이 있을 떄 조정하는 역할. 웹으로부터 받은 요청에 가장 적합한 모델을 생성하는 것을 처리, 사용자에게 응답하는 적절한 뷰를 선택하여 해당 모델을 전달함
(모델과 뷰를 결정함),사용자의 요청을 파악하여 주소를 가지고 해당 모델을 결정하고 모델에 의해 처리된 결과를 가지고 어디로 이동해야 할지 jsp를 결정해줌,servlet임

ºmvc패턴은 가독성과 협업 용이성 때문에 생겨남!

º컨트롤러 - ListBook이라는 이름의 서블릿
모델 - BookDAO
뷰 -jsp

º사용자의 요청을 받아들이는 listbook이라는 서블릿 즉 컨트롤러가 dao에게 도서목록을 요청해서
그걸 가져와서 상태유지 한 다음 jsp(자바 문법 쓰지 않음,html만 생성)로 이동이 되게 할 것임!

º//이 다음 연결된 문서까지 상태를 유지하기 위해서 request객체의 setAttribute메소드 실행
request.setAttribute("list", list);
//상태유지를 하고 뷰 페이지로 보내기 위한 객체 
RequestDispatcher dispatcher=request.getRequestDispatcher("");
//이제야 비로소 그 페이지로 보내짐!
dispatcher.forward(request, response);

반복문(자바문법)을 대신하는 태그
ㄴ사용자 정의 태그 (custom 태그)
사용자 정의 태그의 표준 jstl - 태그릿 지시자 사용

º${}:표현언어
컨트롤러에서 상태유지한 것을 출력할 수 있음

º반복실행 - jstl의 core의 forEach태그
forEach태그에는 var라는 속성(변수이름)과 items(상태유지한 것 이름-표현언어 사용)라는 속성 
<td>${b.bookid}</td> == <!-- <%=b.getBookid()%> -->
<!-- bookid에 대한 게터를 요청한다는 뜻, 즉 vo에 getter가 없으면 오류가 남! -->

º추가/수정은
form태그에서 입력하는 페이지/insert나 update를 서비스를 하는 페이지
두 개가 한 세트로 이루어져야 함

º우리가 새로운 도서를 등록하는 서비스는
등록하는 form양식/db에 수행하는 서비스
jsp로 바로 가ㅏ는 게 아니라 컨트롤러 타고 감
form양식을 요청하는 서비스는 get방식
db수행은 post방식 (하나의 컨트롤러에서 jsp로 갈 때!)

 

오늘 헷갈린 것

  • get방식 post방식 아직 좀 헷갈린다..
  • listCustomer 에러 고치기 !!!
  • 표현언어,jstl 더 학습하기
  • form태그 자꾸 빼먹지 마 !!

오늘 한 생각

너무 좋아하지도 말고 너무 상심하지도 말자 ~