1. Servlet κ°μ
Servletμ μ£Όλ‘ μΉ μ ν리μΌμ΄μ μλ²μμ λμνλ νλ‘κ·Έλ¨ κ΅¬ν μ μ¬μ©νλ€.
λμ μ μμκ° λμ΄λλ©΄ ν¨μ¨μ΄ λ¨μ΄μ§λ CGIκΈ°μ μ λμμΌλ‘ λ±μ₯νλ€.
μλΈλ¦Ώμ ν΄λΌμ΄μΈνΈμ μμ²μ λ°λΌ μλ²κ° μ€νν μ μλ μ μΌν μλ° νμΌ μ΄λΌκ³ λ³Ό μ μλ€.
μλΈλ¦Ώμ λμμν€κΈ° μν 쑰건μ μλΈλ¦Ώ APIλ₯Ό ν΅ν΄ μ 곡λ°μ μ μμΌλ©°, μλΈλ¦Ώμ ꡬνν λ ν΄λΉ APIμΈ
javax.servelt.http.HttpSevlet λ§ μμ λ°μΌλ©΄ λλ€.
class HelloServlet extends HttpServlet {}
2. Servlet μμ± λ° λμ μ리
1. Servlet Container(ex. Apache Tomcat)
μλΈλ¦Ώ 컨ν μ΄λλ Java κΈ°λ° μΉ νλ‘κ·Έλ¨μμ μ¬μ©λλ Servlet ν΄λμ€(ex. FirstServlet.java)λ₯Ό κ΄λ¦¬νλ 곡κ°μΌλ‘, μΉ μ»¨ν μ΄λ, Tomcat 컨ν μ΄λλΌκ³ νννκΈ°λ ν¨.
2. μ¬μ©μ μμ²(Request)μ λ°λ₯Έ μλ²μ μλ΅(Response) νλ¦
Sending a Request - μμ² μ μ‘
μλ²κ° μ¬μ©μ(Client)λ‘λΆν° νΉμ URL κ²½λ‘λ‘ μμ²(Request)μ λ°λλ€.
Instantiate a Servlet - μλΈλ¦Ώ κ°μ²΄ μμ±(μΈμ€ν΄μ€ν)
μλΈλ¦Ώ 컨ν μ΄λλ web.xml νμΌμ΄λ @WebServlet μΌλ‘ λ§΅νλ μ 보λ₯Ό ν λλ‘ μμ² λ°μ URLμ λ§΅νλ μλΈλ¦Ώ ν΄λμ€λ₯Ό μΈμ€ν΄μ€ν νλ€.
Processing the business logic - μμ²μ λ°λ₯Έ μ²λ¦¬ λ‘μ§ μν
μμ±λ ν΄λμ€ λ΄ λ©μλμ μμ±λ μμ€ μ½λλ₯Ό μ€ν
Response to the Client - μ¬μ©μμκ² κ²°κ³Ό μλ΅
κ²°κ³Ό λ°μ΄ν° or νμ΄μ§λ₯Ό μ¬μ©μμκ² μλ΅(Response)
3. μμ²μ μ¬μ©λ μλΈλ¦Ώ κ°μ²΄ μ¬μ¬μ© λ°©μ
μ¬μ©μμ μμ²μ μν΄ μμ±λ μλΈλ¦Ώ κ°μ²΄λ μλΈλ¦Ώ 컨ν μ΄λ λ΄λΆμ 보κ΄νκ³
μ΄νμ λμΌν κ²½λ‘λ‘ μμ²μ΄ μ¬ κ²½μ°, 보κ΄νκ³ μλ μλΈλ¦Ώμ μ¬μ¬μ©νλ€.
λ§€ μμ² μλ§λ€ μλ‘κ² μλΈλ¦Ώ κ°μ²΄λ₯Ό μμ±νμ§ μμ!
4. μ μ΄μ μμ Inversion of Control, IoC
- Java SE κΈ°λ°μ μ½μ(Console) νλ‘κ·Έλ¨
Java SE κΈ°λ°μ μ½μ νλ‘κ·Έλ¨μ μ€νν λλ κ°λ°μκ° μ§μ μΈμ€ν΄μ€λ₯Ό μμ± λ° κ΄λ¦¬νλ λ°©μμΌλ‘, μμ±ν μ½λλ main() λ΄λΆμμ μνλμλ€.
-> νλ‘κ·Έλ¨μ λν μ μ΄κΆμ΄ κ°λ°μνν μλ€.
- Java EE κΈ°λ° μ»¨ν°μ΄λ λ°©μμ μΉ μλ²νλ‘κ·Έλ¨, Servlet/JSP
main() κ° μ¬λΌμ§κ³ νλ‘κ·Έλ¨, λ μ ννκ²λ μλ²λ₯Ό μ€ννλ©΄ μλ²μ λμμ νμν λͺ¨λ μΈμ€ν΄μ€λ€μ κ°λ°μκ° μλ 컨ν μ΄λκ° μμ±, κ΄λ¦¬νλ λ°©μ
-> νλ‘κ·Έλ¨ νλ¦, λμμ λν μ μ΄κΆμ΄ κ°λ°μμμ 컨ν μ΄λλ‘ λ³κ²½λλ€.