ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [mini project] memboard (class-config.ver)
    PORTFOLIO 2021. 8. 10. 22:33

    목차

    1. 개요
    2. 설계
    3. 기능 설명
    4. 느낀점

     


     

    1. 개요


    1) 목적

    • JSP 와 servlet 의 원리와 기능을 학습을 위한 간단한 프로젝트 구현
    • MVC 모델과 3Layer 학습해 더 구조화되도록 프로젝트를 확장
    • 회원가입과 로그인 기능 구현
    • 게시물 작성과 수정 및 상세내역 확인 가능
    • 게시물 첨부파일 업로드와 내려받기 가능

    2) 개발환경

    • Windows 10
    • JAVA JDK 1.8.0_40
    • Mysql 8.0.24
    • Tomcat 8.5
    • Springframework 5.0.2
    • mybatis 3.4.1, mybatis-spring 1.3.0

    3) 프로젝트 확장

    • MVC 모델과 3Layer 학습을 위해 직접 springframework의 FrontController 코드를 구현
    • 개념을 이해한 후 springframework 를 적용하여 프로젝트를 수정, 확장하였다.

    3-1)과도기 MVC

    • Springframework 사용전, 직접 FrontController,ModelAndView 코드를 구현했다.
    • @Controller 기능을 인터페이스의 다형성을 사용해 구현했다.

    2021.07.26 - [JAVA] - JSP: FrontController 직접 구현해보기

    3-2) springframework

    • Springframework 의 어노테이션과 ModelAndView 를 사용해 프로젝트를 확장하였다.
    • xml 이 아닌 Config 방식으로 진행했다.

    2021.07.26 - [JAVA] - board,member(spring.ver1)

    2. 설계


    1) DB

    ( mysql workbench 사용 )

    ERD

    2) UML

    ( startUML 사용 )

    2-1) Package Diagram

    2-2) Class Diagram (Data layer)

    2-3) Class Diagram (Business Layer, Presentation Layer)

    3. 기능 설명


    1) 회원

    1-1) 프로필 이미지 첨부

    - 바이너리 형식으로 DB에 저장 , 자바스크립트의 File API 를 통해 이미지로 읽어 출력하기

    1-2) 다음 우편번호 API 로 우편번호 검색가능


    1-3) 아이디 중복체크

    - id 가 DB 에 저장되어 있는지 여부로 중복체크


    1-4) 로그인

    id 또는 패스워드 DB 에 없는 데이터일 경우 로그인 불가능


    1-5) 회원상세보기

    - 바이너리 형식으로 DB에 저장 => ServletOutputStream 로 바이너리를 이미지형식 읽어 출력


    2) 게시판

    2-1) 게시글 작성

    - Interceptor 를 통해 로그인 하지 않아 session에 저장한 값이 없다면 로그인 페이지로 redirect

    - 첨부파일 업로드 가능

    2-2) 등록한 게시글 조회

    - 첨부파일 링크 클릭시 다운로드 가능

    FileInputStream 로 로컬이미지를 읽어 OutputStream 을 통해 다운받을 수 있는 첨부파일 형식으로 출력하였다.

    4. 느낀점


    좋았던 점 😆

    이 프로젝트는 수업에 맞춰 진행하였는데

    1차로 직접 Spring 의 FrontController 를 작성해 구현해 보았다.

    2차로 springframework 를 사용하여 프로젝트를 확장하였는데,

    spring 의 MVC모델과 3Layer 구조를 이해하는데 큰 도움이 되었다!

    spring 의 어노테이션,ModelAndView 등, 구조와 기능을 자연스럽게 이해할 수 있었다.

    아쉬운 점 😢

    2차에 거쳐 구현함에 따라 시간이 많이 소요되었는데, 현장에서 많이 쓰이는 xml 방식으로 spring 을 구현해보지 못했다.

    추후 프로젝트는 개인적인 학습을 통해 xml 방식으로 진행해야 할 것 같다.

    'PORTFOLIO' 카테고리의 다른 글

    [mini project] HierarchicalBoard  (0) 2021.08.31
    [project] hotelDelluna  (0) 2021.08.26

    댓글

Designed by Tistory.