일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- AF-S 18-35mm
- nikkor
- 푸른초장교회
- 50mm
- 18-35mm
- spring
- 카메라
- 렌즈
- 푸초
- 출사
- 85mm f/1.8G
- AF-S NIKKOR 18-35mm f/3.5-4.5G ED
- camera
- Photo
- 일상
- 풍경
- 니콘
- 50mm f/1.8G
- AF-S NIKKOR 85mm f/1.8G
- 하늘풍경
- Nikon
- 85mm 1.8g
- af-s 18-35
- daily
- 여름성경학교
- AF-S NIKKOR 50mm f/1.8G
- D750
- 경치
- 사진
- 꽃
- Today
- Total
목록IT(Old)/JSP 실습 과정 기록 (18)
병갈이 블록
많은 부분들을 건너뛰었지만, 같은 포멧을 페이지를 하나는 이클립스로 다이나믹 웹프로젝트로, 하나는 STS로 Spring 프레임워크로 제작에 들어갔다. 일단, 프레임워크 없이 jsp로만 구성할때 문제가 Rest방식의 구현이었다.Rest방식의 구현문제는 첫번째, 통신방법의 구현, 두번째 데이터 송-수신문제였다.get방식은 URI에 값이 포함되어 전송되기에 문제는 없었으나 POST방식이 문제이다.그리고 애노테이션을 사용하지 않고 구현하다보니 URI로 명령을 구분하는 작업을 위한 파싱작업에 들어가는 코드가 늘어난다.데이터 수신문제는 request의 inputstream을 얻어와서 byte배열을 이용하여 String방식으로 가져온다.그리고 기본적으로 JSON형태로 구현되어 있기때문에 Google의 Gson이라는 ..
상당히 일거리가 많고 생각해야 될 사항이 많다.1. 사진의 저장위치.2. DB에 전체경로를 저장할 것인지, 파일명만 저장할 것인지.- 나는 파일명만 저장했다. 그리고 저장경로는 서블릿 파라미터로 프로퍼티파일에 저장된 경로를 불러왔다.- 따로관리를 결정한 이유는 추후에 저장 폴더를 변경할때 서블릿 파라미터만 수정하면 되기 때문이다.- 전체경로를 저장해버리면, 파일경로 수정에 상당히 고단픈 작업일것이다.- 하지만, 이로인해 사진을 저장하고 불러오는 과정에서 저장경로를 어떻게 전달하고 결합시킬것인지가 문제가 된다. 3. 한번에 여러파일을 저장했을 때, 하나의 게시물 번호에 여러 파일이름이 저장된다.- 즉, 파일이름관리 테이블에서는 더이상 게시물번호가 기본키가 될 수 없게된다.- 게시물 번호가 중복되고 파일 이..
그냥 코드를 남긴다. 어차피 알아볼 수 있으니까.File img = new File("읽어올 경로"); DataInputStream data = new DataInputStream(new BufferedInputStream(new FileInputStream(img)));DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("저장경로")));byte[] bytee = new byte[ (int)img.length() ];data.readFully(bytee);out.write(bytee);out.close();data.close(); //파일과 관련된 정보를 저장.잘 된다. 이걸 메서드화 시켜서 사..
사진전송관련 테스트.1. 1. 파일을 전송할 jsp페이지에서 폼 인코딩 타입지정.post전송방식은 두가지 인코딩방식으로 동작한다.- application/x-www-form-urlencoded- multipart/form-data일반적인 post환경(문자열 전송등)은 "application/x-www-form-urlencoded"을 이용했다.(기본값)그러나 사진 등 파일을 업로드 하기위해선 "multipart/form-data"을 사용해야한다. 1. 2. web.xml에 multipart-config를 등록해준다. - 이 파일을 처리할 서블릿이 등록된 web.xml에 를 등록해서 관련 정보를 설정해준다.- 그래야 서블릿에서 request로 넘어오는 Part를 제대로 받을 수 있다. 2. 속성과 관련된 설..
지금까지 구현 내용.유저입장에서.1. 로그인 시 세션 부여. - 유저확인 세션.- 게시글 수정, 삭제에 관련되어 비정상적 접근을 막기위한 판단근거 세션부여.2. 각종 페이지 접근시 확장자 없이 접근.3. 로그아웃시 세션 삭제 - session.invalidate() 함수 사용.4. 로그인 시 글 작성 가능.5. 자기글에 한하여 수정 및 삭제 가능.6. 글 삭제시 비밀번호 입력 후 맞을경우에만 삭제.7. 회원가입.8. 게시판 구현.어디까지 나누어 적어야 할 지 모르겠지만 간단하게 적음. 이제 구현해봐야 할 것들.1. 사진 게시판.- 사진 업로드.- 저장 시 특정 이름을 이용하여 리네임해서 저장.- 저장된 사진을 미리보기 형식으로 리스트에 구현.2. vip 회원 페이지 구현.- 뭐, 특별할 건 없고, 세션으..
일단 서블릿을 구성한다.1. MainServlet - 2. nromServlet - /nrom/*3. VipServlet - /vip/*4. AdminServlet - /admin/*5. ErrorServlet - /error/* 이렇게 서블릿을 구성한다.일단 서버를 구동하면 1번이 동작하고 /norm/main으로 포워딩한다.그러면 2번이 동작하고 /norm/ 이후의 키워드에 따라 적절한 핸들러를 매칭한다.3번은 회원 전용페이지를 위한 서블릿이다.4번은 운영진 전용페이지를 위한 서블릿이다.5번은 에러 발생시 연결할 서블릿이다. 회원 가입을 위한 테이블 및 스키마를 생성한다. 1. 문제 발생. include-prelude로 메인 탑 페이지를 인크루드 시켰다./nrom/*형태로 인크루드를 시키니 에러가 계속..