본문 바로가기

728x90
반응형

programming/Gukbi

(107)
국비 교육 76일차 - spring DI, MyBatis 새로운 문법을 배우느라 아주 정신이 없는데 그래도 블로깅으로 잘 정리해봐야겠다. 어제는 오라클에 연결해서 값을 가져오는 연습을 했는데, 이번에는 select, inert, delete, update를 전부 연습해봤다. xml에 셋팅을 해두면, 스프링 컨테이너에서 알아서 값을 가져오고 채워 넣어주는 과정을 살펴보겠다. 일단 XML 파일에 셋팅해야 할 것은 3가지이다. 1. sql 문장 2. ?에 값 채워넣기 3. vo에 값 채워 넣기 이 세 가지만 개발자가 채워넣어주면, 컨테이너에서는 알아서 값을 읽어간다. java파일 안쪽에 app.xml 파일을 생성해주고, 오라클에서부터 값을 읽어올 수 있도록 준비를 한다. bean id="ds"에 값을 읽어올 수 있는 BasicDataSource 클래스를 등록하고 u..
국비 교육 75일차 - Constructor, Annotation, Interface 복습 수업 초반 자바를 배웠을때 정리해둔 게시글을 보는데 내가 쓴거라 그런가 좀 헷갈린다. 일단 생성자는 아래 포스팅에 정리했다. 1. Constructor angehende-ingenieur.tistory.com/77 국비 교육 14일차 - 생성자 오늘 배운 내용은 클래스 생성자 계속 집에서 듣느라 좀 많이 지친다 일단 바로 정리한것부터 써보면 /* * 1. 메모리 저장 장소(구조) page 261 * ==================================== * Method영역 => .class,.. angehende-ingenieur.tistory.com 2. Annotation angehende-ingenieur.tistory.com/91 국비 교육 26일차 - 라이브러리활용(Vector, Ma..
국비 교육 75일차 - spring (Container, DI, DB연동) 본격적인 spring 수업이 시작됐다. 어제는 스프링 설치까지만 완료하고 별다른걸 배우지 않았는데, 오늘은 본격적으로 객체 생성방법, 변수 값 설정에 대해 배웠다. 우선 프레임워크란 애플리케이션을 개발할때 애플리케이션의 구조를 결정하는 아키텍쳐를 제공하는 프로그램을 말한다. 기존 골격은 만들어져 있기 때문에, 그 뼈대에 살을 붙이는 작업을 개발자가 수행하게 된다. 스프링의 경우 4가지의 특징이 있다. 1) 경량 - 스프링은 여러개의 모듈로 구성되어 있고, 각 모듈은 하나 이상의 jar 파일로 구성되어 있다. 이 jar 파일만 있으면 개발과 실행이 모두 가능해지기 때문에, 애플리케이션의 배포가 빠르고 쉬워진다. 2) 느슨한 (낮은) 결합성 - 객체생성을 자바코드로 직접 처리하는 것이 아니라 컨테이너가 대신..
국비 교육 74일차 - jsp 정리, spring 설치 오늘은 jsp마무리와 spring 시작을 위한 설치시간이었다 Java, C# , 파이썬 : 반드시 컴파일 후 전송해야함 3) 웹어플리케이션서버 : 번역 => HTML, XML로 변환 ==> 톰캣,레진 : 자바번역기 , IIS 4) 데이터베이스 : 오라클 => 웹 사이트에 필요한 데이터를 저장하는 장소 자바 번역 웹브라우저 ===> 웹서버 =======> WAS ==========> 오라클 마지막에 파일명을 전송 /main.do => 서블릿을 찾아라 (DispatcherServlet) p.37,38(구성요소,URL) web은 거의 대부분이 Map map("localhost","211.238.142.181") map("daum.net","211.000.000.000") http://localhost(IP,D..
국비 교육 72일차 - QnA 게시판 프로젝트가 거의 막바지에 다다라서 수업은 오전에 잠깐만 하고 남은 시간은 프로젝트에 전부 썼다. 일단 오늘 한 수업은 문의 게시판 만들기 이다. package com.sist.vo; /* * NO NOT NULL NUMBER NAME NOT NULL VARCHAR2(34) SUBJECT NOT NULL VARCHAR2(2000) CONTENT NOT NULL CLOB PWD NOT NULL VARCHAR2(10) REGDATE DATE HIT NUMBER GROUP_ID NUMBER GROUP_STEP NUMBER GROUP_TAB NUMBER */ import java.util.*; import lombok.Getter; import lombok.Setter; @Getter @Setter public ..
국비 교육 71일차 - 파일 업로드 우리 조 프로젝트 역시 게시판을 만들었어야 했는데, 가장 중요하게 생각했던 부분이 바로 사진 공유 게시판 기능이었다. 사용자가 직접 사진을 올리면 그 저장한 사진을 바로 띄울 수 있게 하고 싶었기 때문에, 파일 업로드 기능을 반드시 사용해야 했다. 일단 게시판 view 부분은 이렇게 작성했다. 글쓰기 제목 내용 태그 장소 광화문 명동 동대문 홍대 여의도 이태원 강남 잠실 기타 이미지 첨부 쓰기 취소 이런 창으로 파일을 띄울수 있게 만들었다. form태그로 값을 넘기는데, 이제 여기서 중요한 것은 꼭 이렇게 enctype을 multipart/form-data를 주어야 한다. 그냥 텍스트 값을 넘길때는 써주지 않아도 되지만, 첨부파일이 넘어갈때는 반드시 적어주어야 한다. (form에서 post 방식으로 넘어..
국비 교육 69일차 - 찜목록, 댓글 달기 수정 삭제 로그인 기능이 완성되었기 때문에 나머지 기능들도 차차 완성시켜주었다. 일단 찜목록부터 구현해보자. 찜을 완성하기 위해서는 모든 상세보기 view에 찜하기 버튼을 만들어 두고, 그 버튼을 누르면 찜목록 테이블에 값이 넘어가게끔 만들어 주어야 한다. 우리조 프로젝트는 호텔찜, 여행지목록찜 테이블을 따로 만들었는데 원래는 같은 테이블을 쓰되, 컬럼명을 다르게해서 각각 다른 카테고리의 찜 데이터들이 하나의 테이블에 저장되어 있어야 한다고 한다.. dao를 만들때 저장된 값들을 보고 조건문을 사용해서 각각 insert문장을 다르게 주면 되지 않을까 생각해봤다. 그러면 하나의 VO에 여러 변수들이 한꺼번에 생겨서 복잡할것 같긴하다.. 그래도 이게 실무에 더 가까운 프로그램이라고 하니.. 일단 나중에 생각하고 포스팅..
국비 교육 69일차 - 로그인 회원가입을 끝냈으니 로그인 기능을 완성하고, 로그인 이후에 만들 수 있는 것들을 하나씩 추가하는 것을 배웠다. 일단 로그인 부터 ID Password html 태그를 사용해서 버튼을 만들고 id를 줘서 ajax로 처리할 준비를 해준다. 로그인 기능은 ShadowBox를 사용했기 때문에 이것을 염두하고 코드를 이해하면 좋을것 같다. 우선 먼저 로그인 취소 버튼을 누르면 로그인 창이 꺼져야 하기 때문에 아래와 같이 적어준다. $('#canBtn').click(function(){ // 취소버튼 클릭시 처리 parent.Shadowbox.close(); }); Shadowbox는 main 페이지에서 띄우고 있기 때문에 parent, 즉 상위 페이지에서 닫아줄 수 있도록 처리를 해둔다. $('#logBtn')...
국비 교육 68일차 - 회원가입/아이디 중복 체크/우편번호 찾기 사이트가 되기 위해선 회원가입이 필수 저번에 한번 배우긴했지만 프로젝트로 다시 복습하게 됐다. 사실 내가 맡은 부분은 아니지만 앞으로 알아야 나도 내 개인 프로젝트를 할 수 있으니 복습을 철저하게 해보려고 한다. 일단 가장 먼저는 회원가입 테이블을 만드는 것이다. package com.sist.vo; import lombok.Getter; import lombok.Setter; @Getter @Setter public class MemberVO { private String id,pwd,name,sex,birthday,email,post,addr1,addr2,tel,content,admin; } 필요한 데이터들을 다 모아두고, 회원가입에 필요한 dao를 만들어준다. // 회원가입 public void m..
국비 교육 67일차 - 페이지 블록 나누기 프로젝트와 같이 하면서 블로깅이 밀리고 있다. 일단 프로젝트에 실제로 적용해야 할 부분을 정리하면서 동시에 기능을 만들어 나가려고 한다. 내가 맡은 부분은 여행사진 공유 게시판이기 때문에, 업로드된 여행사진을 한눈에 볼 수 있는 페이지와 상세보기 페이지를 따로 만들어야 한다. 특히 한눈에 볼 수 있는 페이지에서는 페이지 블록을 나눠줘야 많은 데이터를 한번에 출력하는게 아닌, 페이지를 나누어 출력할 수 있다. 이전 다음 이 부분이 페이지 블록을 나눠주는 부분이다. 우선 총페이지를 구해주고, 페이지 블록을 얼만큼 설정해줄 것인지 정해야 한다. int totalpage=(int)(Math.ceil(count/12.0)); final int BLOCK=10; int startPage=((curpage-1)/BL..

728x90
반응형