본문 바로가기

728x90
반응형

programming

(130)
국비 교육 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..
국비 교육 66일차 - mainPage만들기 mvc구조를 이용해서 메인페이지를 통해 모든 페이지가 띄워질 수 있게끔 하는 사이트를 만드는게 팀 프로젝트의 목표이다. 그래서 이번 시간에는 mainpage를 연결하는 방법을 배웠다. 먼저 mvc구조의 핵심은 model, view, controller를 나누는 것이기 때문에, model 부분에 대한 이해가 필수적이다. package com.sist.model; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sist.controller.Controller; import com.sist.controller.Re..
국비 교육 65일차 - annotation 사용 controller 제작 분명 원리는 같은데 훨씬 난이도가 있는 controller 제작이었다... 이것만 잘 이해해도 앞으로의 spring 사용이 쉬워질거라고 강사님이 말씀해주셨으니, 다는 아니어도 꼭 구조의 흐름이 어떻게 흘러가는지만 이라도 이해하고 싶다... 일단 어노테이션을 사용하는 이유를 꼭 짚고 넘어가려고 한다. 1. controller를 확정시키고 나서 코드를 바꾸지 않으려고 하기 때문에 -> 재활용성이 높아진다. 2. 한 클래스 안에 있는 여러 메소드들을 불러오기 위해서 -> 이렇게 하면 한 메소드당 하나의 클래스를 만들지 않아도 되기 때문에, 응집력이 높은 프로그램을 만들 수 있다. 이건 어노테이션을 쓰기 이전의 web.xml 파일이다. 사용할 applicationContext.xml 의 경로만 따로 지정해 줬다..
국비 교육 65일차 - mvc구조, controller 만들기, xml parsing 어제에 이어서 mvc 구조를 제대로 파헤져보는 시간이었다. 어제 한 controller는 controller 내부에서 직접 자바 코딩을 했었는데, 오늘은 xml 파일에서 구조를 만든 뒤에, 그걸 파싱해와서 사용하는 코드를 만들어봤다. 일단 톰캣의 web.xml 파일은 아래와 같이 만들어 줬다. JSPMiddleProject3 mvc com.sist.controller.DispatcherServlet contextConfigLocation C:\webDev\webStudy\JSPMiddleProject3\WebContent\WEB-INF\applicationContext.xml mvc *.do index.html index.htm index.jsp default.html default.htm default..
국비 교육 64일차 - EL, MVC구조, JSTL 오늘은 마지막에 프로젝트 시간 없이 온전히 수업만 8시간을 나갔다. 그만큼 좀 정신없이 진도가 나갔는데 잘 정리해보도록 하겠다. MV패턴 Model => 자바 View => HTML (JSP) ===> MVC 패턴 Model => 자바 View => HTML(JSP) Controller => 자바와 JSP를 연결 EL 연산자 처리 메소드 처리 처리 영역 ${일반 변수 출력이 아니다} 예) String name="홍길동"; ${name} (X) request.getAttribute("name"); session.getAttribute("") --%> request, session, application // 자바에서 데이터를 보낸다 (request, session) %> 이름:${name },${reque..
국비 교육 63일차 - 맛집 사이트 완성 이전 시간까지는 맛집 사이트를 완성하기 위한 데이터저 수집과 메인 페이지 만들기를 완성해 왔다면, 이번 시간에는 나머지 디테일들을 하나씩 완성해 나갔다. 먼저 카테고리를 클릭하면 대략적으로 목록을 볼 수 있는 페이지를 만들었다. 여기서 사진을 클릭해서 들어가면 아래와 같은 화면이 나온다 후기가 들어가는 곳은 그냥 임의로 아무 데이터나 넣어준 것이고, 여기서 집중해서 볼 것은 이미 수집해놓은 사진데이터와 주소 데이터를 잘라와서 띄워주고 있다는 점이다. 영국음식이 이렇게 맛있다니 재방문의사 매우 있음 셰퍼드파이 어디선가 먹어본 맛인데 정말 맛있었다 다음에 가도 셰퍼드파이는 꼭 주문해야지 피쉬앤칩스 비릴줄 알았는데 그런거 없고 부드럽고 맛있었다 사진은 여러장이 있었기 때문에 ^을 단위로 나눠서 구분해서 저장해..

728x90
반응형