전체 글
-
학원 day84. 스프링 데이터베이스 엑세스, Mybatis기록 2023. 1. 2. 12:52
메이븐 프로젝트 만들기 project - Maven - Maven Project - Create a simple project 체크 pom.xml, logback.xml 복붙 오른쪽버튼 Maven - update Project 클릭 스프링과 데이터베이스 엑세스 - 스프링의 데이터베이스 엑세스 작업은 jdbc 연동, ibatis/mybatis 연동, JPA/hibernate 연동 등 다양한 데이터베이스 엑세스 기술과 연동해서 데이터베이스 엑세스 작업을 구현할 수 있다. - 스프링의 데이터베이스 엑세스 작업 특징 * 다양한 데이터베이스 엑세스 라이브러리와의 연동을 지원한다. ( jdbc , ibatis/mybatis, JPA/hibernate 등) * 일관된 데이터베이스 엑세스 예외처리를 지원한다. (기술 ..
-
학원 day83. 스프링의 의존성 주입(2)기록 2022. 12. 30. 12:58
스프링의 의존성 주입 수동 의존성 주입 1. 애플리케이션 실행에 관여하는 객체를 스프링 컨테이너가 생성하게 한다. 2. 의존성 주입을 받는 객체는 의존하는 객체를 전달받기 위해서 멤버변수와 Setter 메소드를 정의한다. 3. 스프링 컨테이너가 생성한 객체들을 조립시킨다. 타입이 다르면 안쪽 방향을 탐색한다. PostDao의 구현부가 없는 메소드를 재정의한 PostOracleDao의 insertPost메소드가 실행된다. 인터페이스를 이용한 느슨한 결합이란, PostController은 PostOracleDao 클래스(구현클래스)의 존재를 알 필요가 없다. 즉, PostController에게 PostOracleDao 객체가 아닌 다른 객체를 전달해줘도 상관없다.(단, PostDao 인터페이스의 구현클래스여..
-
학원 day82. 스프링 의존성주입, 관점지향프로그래밍, Maven기록 2022. 12. 29. 12:55
전자정부표준프레임워크에는 웹개발 지원하는 플로그인과 스프링을 지원하는 플로그인 등 다양한 플로그인이 깔려있어서 spring.io/tools에서 다운받지 않았다. (spring.io에서 다운받으면 jsp지원 안함.) -------------------------------------------------------------------------------------------------------------------------- 스프링 - 오픈소스 프레임워크다. * 오픈소스 : 라이센스 무료, 가공/수익창출 허용 * 프레임워크 : 특정한 아이디(개발방식, 개발 패턴, 아키텍처)의 구현체다. - 라이브러리와 프레임워크 * 라이브러리 : 개발에 필요한(자주 사용되는) 기능의 구현체다. 필요한 기능이 구현되..
-
학원 day81. Todo 게시판 만들기 실습기록 2022. 12. 28. 23:02
TodoListController 페이지번호를 조회한다. 총 일정갯수를 조회한다.(삭제 상태인 것 제외) 페이징처리에 필요한 객체를 생성한다. 페이징처리에 필요한 정보를 담는 Map객체를 생성하고, begin/end값을 추가한다. 모든 일정을 조회해서 요청객체에 저장한다.(삭제 상태인 것 제외) 페이징처리 정보를 요청객체에 저장한다. todo/list.jsp를 반환한다. TodoRegisterFormController 모든 카테고리 정보를 조회한다. 요청객체에 카테고리목록 정보를 속성으로 저장한다. todo/form.jsp를 반환한다. TodoRegisterController 로그인정보를 조회하고, 로그인 상태가 아니면 로그인 폼을 요청하는 url을 반환한다. 폼 입력값을 조회한다. Todo객체를 생성해..
-
학원 day80. model2 실습기록 2022. 12. 27. 14:54
- 'hong', 'kang' 이라는 유저에게는 '새 게시글 쓰기' 가 보이고, 세번째 세션의 주인은 새 게시글 쓰기가 안보인다. - 게시글 등록할 때, 작성자 id를 hidden으로도 넘길 필요 없다. 세션에서 가져올 수 있으니까 - 요청객체의 속성으로 가져온 건 진한 파란색, 요청객체의 요청파라미터로 가져온 건 노란색 - EL의 내장객체에 param이라는게 있는데 파라미터명 앞에 param이라고 적으면 요청파라미터값을 조회할 수 있다. - 속성은 앞에 param을 붙이지 않는다. - 페이지네이션에 beginPage, endPage라는 변수는 없다. .뒤에 있는게 사실 변수명이 아니라 getter메소드 이름이었다. 객체의 값을 가져올 때 멤버변수의 이름이 아니라 getter메소드의 이름을 쓰는것이다. ..
-
학원 day79. Redirect, 세션기록 2022. 12. 26. 18:03
- 화면요청은 .jsp 반환 - 조회작업이 아닌 추가, 변경, 삭제 작업과 같은 화면을 요청하지 않는 것들은 redirect:list.hta 처럼 재요청 url이 보내진다. - 추가(insert)/변경(update)/삭제(delete) 작업 후에는 조회하는 작업을 위해 redirect를 작성한다. web.xml frontControllerServlet com.sample.model2.FrontControllerServlet frontControllerServlet *.hta 500 /WEB-INF/views/error/500.jsp 404 /WEB-INF/views/error/404.jsp - .hta로 끝나는 URL 요청이 오면 frontControllerServlet 별칭으로 배포된 com.sampl..
-
학원 day78. JSTL(2)기록 2022. 12. 23. 18:03
태그 for문과 같은 역할을 수행한다. 배열 혹은 콜렉션(List, Set)에 대해서 그 항목의 갯수만큼 반복작업을 수행한다. 사용법 ${변수명} items의 표현식으로 찾은 값이 반드시 배열 혹은 콜렉션이어야 한다. 검색된 배열 혹은 콜렉션의 요소 갯수만큼 컨텐츠를 반복 출력한다. var는 배열 혹은 콜렉션에서 반복수행시 해당 요소가 저장되는 변수의 이름을 지정한다. ${변수명2.count} ${변수명1} varStatus에 지정된 변수에는 현재 반복상태정보를 담고 있는 객체가 전달된다. 반복상태 정보 index : 현재 추출한 요소의 인덱스번호(0부터 시작) count : 현재 반복횟수(1부터 시작) first : 첫번째 요소인 경우 true last : 마지막번째 요소인 경우 false ${변수명}..
-
학원 day77. JSP의 속성과 스코프, EL, JSTL기록 2022. 12. 22. 18:05
톰캣 내부 자바웹에서는 속성을 저장할 수 있는 곳이 4군데가 있다. HttpServletRequest는요청이 오면 만들어지고 응답가면 사라지는 일회성 객체이다. PageContext는 home.jsp에서만 쓸 수 있다. 메소드 안에서만 사용할 수 있다. HttpSession은 특정 클라이언트와 특정 브라우저와 연결된 객체 ServletContext는 웹어플리케이션 당 하나씩 만들어지는 객체 forward는 전달받은 request객체를 다른 jsp나 서블릿으로 이동시켜준다. jsp 안에서는 자신이 사용할 수 있는 객체를 미리 획득하고 있다. 서블릿(FrontController)은 요청접수, 컨트롤러 실행, 내부이동 3가지를 한다. Controller는 요청처리, 업무로직 메소드 호출, JSP에서 표현할 데..