member_springmvc_fileup.zip

1. lib 추가

2. web.xml - context_root 초기파라미터 변경

3. WebContent\pictures 폴더 생성(사진 저장 폴더)

4. Member 테이블에 컬럼추가 - 사진 파일명\
    picture_filename varchar2(30)

5. MemberDTO에 property 추가(
   1. 파일명 저장할 property - pictureFilename : String
   2. 업로드 파일정보 저장할 property - upfile : MultipartFile

 

6. Spring설정파일
   1. multipartresolver bean으로 등록
   2. MemberService bean에 사진파일이 저장될 경로 주입
     - MemberService에 사진파일 저장 경로 저장할 instance변수

------------등록처리----------------

1. register_form.jsp
   - <form>,<input>-file

2. MemberManageService.registerMember()
   - 업로드 처리(file명 변경 - 중복 이름 회피)

3. DAO.insertMember() - 쿼리 넣는 코드 추가
   - 쿼리 변경

4. register_success.jsp - 사진이 나오게 처리
   - 업로드된 사진이 나오도록 처리

Posted by 조은성
,

 

 

 

 

 

 

 

* 결과

Chrysanthemum.jpg - 879394
Lighthouse.jpg - 561276
Desert.jpg - 845941
comment : 123

 

 

 

* 결과

 

 

 

 

 * txt나 그림파일 html파일은 브라우저가 실행할 수 있다고 생각해서 다운 받지 않고 바로 실행시킨다. 그래서 아래서 다시 브라우저가 알 수 없는 파일로 지정하여 다운로드 할 수 있게 할 것이다.

 

* 실습

 

 

 

 

 

 

 

 

 

 

 

* 결과

 

 

 

Posted by 조은성
,

* 톰켓에 파일 옮기기

* 실습

* 결과

* 같은 이름으로 여러개의 파일 추가하기 실습

 

 

 

* 결과

 

 

---------getFileNames() : 요청파라미터의 이름들 리턴 - type이 file인---------
upfile
myupfile
---------getParameter(), getParameterValues()
코멘트 :
--------getFile() : 업로드 파일정보 조회
파일명 : Koala.jpg
------getFiles() : 동일한 이름으로 여러개의 파일 업로드 시
myfile : Chrysanthemum.jpg
myfile : Lighthouse.jpg
myfile : Desert.jpg
---------getFileNames() : 요청파라미터의 이름들 리턴 - type이 file인---------
upfile
myupfile
---------getParameter(), getParameterValues()
코멘트 : 123
--------getFile() : 업로드 파일정보 조회
파일명 : Chrysanthemum.jpg
------getFiles() : 동일한 이름으로 여러개의 파일 업로드 시
myfile : Koala.jpg
myfile : Tulips.jpg
myfile : Penguins.jpg
Posted by 조은성
,

* FileUpload - 파일 업로드 요청 페이지

1. 호출 JSP(또는 HTML)
   - 요청 방식 : post
   - <form enctype="multipart/form-data">
   - input tag : <input type="file" name="upfile"/>
      - name 송석의 값은 upload정보를 저장할 DTO(VO)의 Attribute와 매칭 된다.
      - 여러 개의 파일을 업로드 할 때 name속성의 값은 이름[0], 이름[1] 형식으로 작성

         <input type="file" name="upfile[0]"/>
         <input type="file" name="upfile[1]"/>

* FileUpload - Spring 설정파일

1. multipartResolver 빈으로 등록
   - upload를 처리해 주는 bean
   - id/name은 반드시 multipartResolver로 등록
      <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
   - property
      - defaultEncoding - 기본 인코딩 설정
      - maxUploadSize - 업로드 허용 최대 size를 byte단위로 지정.
         -1은 무제한
      - uploadTempDir - 업로드 파일이 저장될 임시 경로 지정
      - maxInMemorySize - 업로드 파일을 저장할 최대 메모리 크기

* FileUpload - Controller에서 처리

1. DTO를 통해 받기
   - 파일 요청 파라미터의 이름과 매칭되는 property작성
   - 파일의 정보를 저장할 property는 MultipartFile 타입으로 작성

2. @RequestParam 을 통해 받기
   - Controller 메소드의 MultipartFile 타입의 매개변수 사용

3. MultipartHttpServletRequest 이용
   - Controller 메소드의 매개변수로 
     MultipartHttpServletRequest를 선언
   - 주요 메소드
      - getFileNames() : Iterator<String> - 업로드된 파일명들 조회
      - getFile(String name) : MultipartFile - 업로드된 파일정보 조회
      - getFiles(String name) : List<MultipartFile> - 업로드된 파일정보들 조회

* FileUpload - MultipartFile

1. org.springframework.web.multipart.MultipartFile
   - 업로드된 파일정보를 저장하는 객체
   - getName() : String -요청파라미터의 name
   - getOriginalFilename() :String - upload된 파일명
   - getSize() : long - 파일의 크기
   - transferTo(File dest) - upload된 파일을 특정 경로로 이동
   - isEmpty() : boolean - upload된 파일이 없으면 true
   - getInputStream() : InputStream - 업로드 된 파일과 연결된 InputStream 리턴

* 원래 파일 업로드를 실행하려면 복잡한대 이걸 처리해주는 api가 있고 이걸 등록해서 사용하면 된다.

Posted by 조은성
,

시작 : login_success.jsp, menu.jsp(getLoginMemberInfo.do)
ctr : getLoginMemberInfo()
view : 성공 : member_detail.jsp
         로그인 안한 경우 : login_form.jsp

회원정보 수정 폼

시작 : member_details.jsp, menu.jsp(modifyForm.do)
ctr : modifyForm()
view : 성공 : /res/modify_form.jsp
         로그인 안한경우 : login_form.jsp

회원정보 수정 처리
시작 : modifyForm.jsp( modifyMember.do )
Ctr : modifyMember()
Service : modifyMember() ->dao
view : 성공 : /res/member_detail.jsp
         실패 : exception - error.jsp
                  로그인 안한 경우 - login_form.jsp

회원 탈퇴 처리

시작 : member_detail.jsp, menu.jsp( removeMember.do )
Ctr : removeMember(HttpSession)
Service : removeMemberById()
View : 성공 - login_form.jsp
          실패 - Exception - res/error.jsp
                   로그인 안한 상태 - login_form.jsp

 

검색처리

시작 : search_form.jsp ( /searchMemberByMileageRange.do )
Ctr : searchMemberByMileageRange(int startMileage. int endMileage)
Service : searchMemberByMileageRange() ->dao
view : 성공 : /res/search_result.jsp
         실패 : exception - res/error.jsp

이름으로 검색처리

시작 : search_form.jsp ( /searchMemberByName.do )
Ctr : searchMemberByName(String name)
service : searchMemberByName() =>dao
view : 성공 : /res/search_result.jsp
         실패 : exception : res/error.jsp



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* 결과

 

 

 

 

 

 

 

 

 

 

 

Posted by 조은성
,

로그인처리

시작 : login_form.jsp(login.do요청)
Ctr : login(id,password,HttpSession session) : ModelAndView
service : getMemberById() : MDTO

View : 성공 : /res/login_success.jsp
          실패 : 오류 : /res/error.jsp
                   id/pwd 틀린경우 : /login_form.jsp

 

로그아웃 처리

시작 : logout.do로 요청시(menu.jsp, login_success.jsp
Ctr : logout(HttpSession)
View : 성공/실패 - login_form.jsp


 

 

 

 

 

 

 

 

 

 

 

 

 

* 결과

 

 

 

 

 

Posted by 조은성
,

dynamic web : member_springmvc

lib : spring api, jstl, ibatis

 

com.springsource.net.sf.cglib-2.2.0.jar

 

com.springsource.org.aopalliance-1.0.0.jar

 

com.springsource.org.apache.commons.logging-1.1.1.jar

 

com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar

 

ibatis-2.3.4.726.jar

 

javax.servlet.jsp.jstl-1.2.1.jar

 

javax.servlet.jsp.jstl-api-1.2.1.jar

 

org.springframework.aop-3.0.2.RELEASE.jar

 

org.springframework.asm-3.0.2.RELEASE.jar

 

org.springframework.beans-3.0.2.RELEASE.jar

 

org.springframework.context-3.0.2.RELEASE.jar

 

org.springframework.core-3.0.2.RELEASE.jar

 

org.springframework.expression-3.0.2.RELEASE.jar

 

org.springframework.jdbc-3.0.2.RELEASE.jar

 

org.springframework.orm-3.0.2.RELEASE.jar

 

org.springframework.transaction-3.0.2.RELEASE.jar

 

org.springframework.web-3.0.2.RELEASE.jar

 

org.springframework.web.servlet-3.0.2.RELEASE.jar

추가하기

* 추가된 결과

 

* 설정파일 :

ibatis - SqlMapConfig.xml - WEB-INF
           member.xml - member.config/member.xml

스프링 설정 - member-spring.xml - WEB-INF

 

1. 회원 등록하기

WebContent/register_form.jsp
->
Ctr : registerMember(MemberDTO) : ModelAndView
->
Service : registerMember()
->
DAO.메소드
->응답 : 성공 : /res/register_success.jsp
            오류 : /res/error.jsp

 

2. 전체회원조회

WebContent/menu.jsp(/getAllMemberInfo.do로 요청)
->
Ctr : getAllMemberInfo() : ModelAndView
->
Service : getAllMemberList()
->
DAO.메소드
->
->응답 : 성공 : /res/member_list.jsp
            오류 : /res/error.jsp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* 결과

 

 

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

* 결과

org.apache.catalina.connector.RequestFacade@77eb97
org.apache.catalina.connector.ResponseFacade@10c3a08
org.apache.catalina.session.StandardSessionFacade@1b6235b
요청파라미터 : 홍길동
홍길동, 69209E2D3ACAACDE48122FBD180DC523

 

 

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

* 결과보기

aaa, 이순신, 20

 

 

 

* 결과

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

 

* 결과

registerForm()
registerCustomer() :
CustomerDTO [id=1, name=1, age=1, addressDTO=AddressDTO [zipcode=1, address=1]]

 

 

 

Posted by 조은성
,