Skip to content

funchcode/web-application-server

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

μ‹€μŠ΅μ„ μœ„ν•œ 개발 ν™˜κ²½ μ„ΈνŒ…μ€ 맨 μ•„λž˜λ₯Ό μ°Έκ³ ν•˜λ©΄ λœλ‹€.

  • 이 ν”„λ‘œμ νŠΈλŠ” 'μžλ°” μ›Ή ν”„λ‘œκ·Έλž˜λ° Next Step'을 ν•™μŠ΅ν•˜κΈ° μœ„ν•œ Repository이닀.
  • 이 μ±…μ˜ μ €μžμΈ λ°•μž¬μ„±λ‹˜μ—κ²Œ κ°μ‚¬μ˜ 말씀을 λ“œλ¦¬κ³ μ‹Άλ‹€.

μš”κ΅¬μ‚¬ν•­ 1 - http://localhost:8080/index.html둜 μ ‘μ†μ‹œ 응닡

  • InputStream - InputStreamReader - BufferedReader.
  • BufferedReader에 charset을 μ„€μ •ν•œλ‹€.
  • readLine() μ‹œ ν•΄λ‹Ή ν–‰μ˜ 데이터λ₯Ό λ³΄μ—¬μ£ΌλŠ” 것을 ν™•μΈν–ˆλ‹€.

μš”κ΅¬μ‚¬ν•­ 2 - get λ°©μ‹μœΌλ‘œ νšŒμ›κ°€μž…

  • μ •κ·œν‘œν˜„μ‹ "?" λ¬ΌμŒν‘œ ꡬ뢄은 .*[\?].*둜 ν•˜λ©΄ λœλ‹€.

μš”κ΅¬μ‚¬ν•­ 3 - post λ°©μ‹μœΌλ‘œ νšŒμ›κ°€μž…

  • λ¬Έμžμ—΄ 비ꡐ μ‹œμ—λŠ” .equalsλ₯Ό μ‚¬μš©ν•œλ‹€.

μš”κ΅¬μ‚¬ν•­ 4 - redirect λ°©μ‹μœΌλ‘œ 이동

  • HTTP 302 응닡을 톡해 Redirectλ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.

μš”κ΅¬μ‚¬ν•­ 5 - cookie

μš”κ΅¬μ‚¬ν•­ 6 - stylesheet 적용

heroku μ„œλ²„μ— 배포 ν›„

μ‹€μŠ΅μ„ μœ„ν•œ 개발 ν™˜κ²½ μ„ΈνŒ…

  • https://github.com/slipp/web-application-server ν”„λ‘œμ νŠΈλ₯Ό μžμ‹ μ˜ κ³„μ •μœΌλ‘œ Forkν•œλ‹€. Github 우츑 μƒλ‹¨μ˜ Fork λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ μžμ‹ μ˜ κ³„μ •μœΌλ‘œ Forkλœλ‹€.
  • Forkν•œ ν”„λ‘œμ νŠΈλ₯Ό eclipse λ˜λŠ” ν„°λ―Έλ„μ—μ„œ clone ν•œλ‹€.
  • Forkν•œ ν”„λ‘œμ νŠΈλ₯Ό eclipse둜 importν•œ 후에 Maven λΉŒλ“œ 도ꡬλ₯Ό ν™œμš©ν•΄ eclipse ν”„λ‘œμ νŠΈλ‘œ λ³€ν™˜ν•œλ‹€.(mvn eclipse:clean eclipse:eclipse)
  • λΉŒλ“œκ°€ μ„±κ³΅ν•˜λ©΄ λ°˜λ“œμ‹œ refresh(fn + f5)λ₯Ό μ‹€ν–‰ν•΄μ•Ό ν•œλ‹€.

μ›Ή μ„œλ²„ μ‹œμž‘ 및 ν…ŒμŠ€νŠΈ

  • webserver.WebServer λŠ” μ‚¬μš©μžμ˜ μš”μ²­μ„ λ°›μ•„ RequestHandler에 μž‘μ—…μ„ μœ„μž„ν•˜λŠ” ν΄λž˜μŠ€μ΄λ‹€.
  • μ‚¬μš©μž μš”μ²­μ— λŒ€ν•œ λͺ¨λ“  μ²˜λ¦¬λŠ” RequestHandler 클래슀의 run() λ©”μ„œλ“œκ°€ λ‹΄λ‹Ήν•œλ‹€.
  • WebServerλ₯Ό μ‹€ν–‰ν•œ ν›„ λΈŒλΌμš°μ €μ—μ„œ http://localhost:8080으둜 접속해 "Hello World" λ©”μ‹œμ§€κ°€ 좜λ ₯λ˜λŠ”μ§€ ν™•μΈν•œλ‹€.

각 μš”κ΅¬μ‚¬ν•­λ³„ ν•™μŠ΅ λ‚΄μš© 정리

  • κ΅¬ν˜„ λ‹¨κ³„μ—μ„œλŠ” 각 μš”κ΅¬μ‚¬ν•­μ„ κ΅¬ν˜„ν•˜λŠ”λ° μ§‘μ€‘ν•œλ‹€.
  • κ΅¬ν˜„μ„ μ™„λ£Œν•œ ν›„ κ΅¬ν˜„ κ³Όμ •μ—μ„œ μƒˆλ‘­κ²Œ μ•Œκ²Œλœ λ‚΄μš©, κΆκΈˆν•œ λ‚΄μš©μ„ κΈ°λ‘ν•œλ‹€.
  • 각 μš”κ΅¬μ‚¬ν•­μ„ κ΅¬ν˜„ν•˜λŠ” 것이 μ€‘μš”ν•œ 것이 μ•„λ‹ˆλΌ κ΅¬ν˜„ 과정을 톡해 ν•™μŠ΅ν•œ λ‚΄μš©μ„ μΈμ‹ν•˜λŠ” 것이 배움에 μ€‘μš”ν•˜λ‹€.

About

πŸ“š μžλ°” μ›Ή ν”„λ‘œκ·Έλž˜λ° Next Step 3 ~ 5μž₯

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 58.1%
  • Java 33.7%
  • CSS 7.9%
  • JavaScript 0.3%