Coder Social home page Coder Social logo

be-was's Introduction

java-was-2023

Java Web Application Server 2023

프로젝트 정보

이 프로젝트는 우아한 테크코스 박재성님의 허가를 받아 https://github.com/woowacourse/jwp-was 를 참고하여 작성되었습니다.

기능 요구 사항

step - 1

  • 특정 uri 로 접속했을 때, 해당 파일을 request 한다.
  • http request 내용을 읽고 logger 를 통해 확인한다.
  • 자바의 concurrent 패키지를 사용하도록 변경한다.

step - 2

  • 응답 메시지를 관리하는 클래스를 구현한다.
  • GET 메소드를 통해 파라미터를 받는다.
    • Path를 파싱해 파라미터와 분리한다.
  • 주어진 파라미터를 User 클래스에 담는다.
  • User 도메인에 담긴 객체를 DB에 넣는 기능을 구현한다.

step - 3

  • 컨텐츠 확장자에 따라 파싱한다.
  • MIME 클래스로 관리한다.
  • 예외처리 및 리팩토링한다.
    • 유저의 생성 로직의 예외를 구현.

Step - 4

  • 회원 가입 방식을 POST 방식으로 변경한다.
    • UserController POST 매핑으로 변경.
    • POST 방식으로 변경하기 위한 HTML 수정.
    • 데이터 파싱 로직 변경.
  • 리다이렉션 기능을 구현한다.
    • 회원 가입을 완료하면 메인 페이지로 리다이렉션 한다.

Step - 5

  • 로그인 기능을 구현한다.
    • 로그인을 성공하면 루트 페이지로 리다이렉트된다.
    • 로그인에 실패하면 실패 페이지로 리다이렉트된다.
  • 세션 기능을 구현한다.
  • 쿠키 기능을 구현한다.
  • 로그아웃 기능을 구현한다.

Step - 6

  • 동시성 문제를 해결한다.
    • concurrentMap 사용한다.
  • index 페이지에서 로그인, 비로그인 상황에 따라 사용자의 이름을 표기해준다.
  • 로그인 상태에서 user/list에 접근 할 경우 유저 목록을 표시한다.
  • 로그인 상태가 아니라면 index 페이지로 돌아간다.

학습 내용

be-was's People

Contributors

ddingmin avatar honux77 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.