ALOHA CLASS
/
Back-End
/
JSP
Search
Duplicate
Share
JSP
JSP / Servlet ๊ธฐ์ด
AI3_JSP
ALOHA-CLASS
MSA9_JSP
ALOHA-CLASS
MSA5_JSP
ALOHA-CLASS
JSP_TJE
ALOHA-CLASS
JSP/Servlet [LIVE] V.4
JSP/Servlet [LIVE] V.3
ALOHA CLASS - JSP/Servlet [LIVE] V.2
Servlet, JSP, JSTL, EL ์๋ฐ ์น ๊ฐ๋ฐ
[ALOHA] JSP/Servlet 01์ผ์ฐจ V.1
[ALOHA] JSP/Servlet 01์ผ์ฐจ V.1 #JAVA #JSP #Servlet
JSP ๊ฐ๋ฐํ๊ฒฝ
JDK & Eclipse ์ค์น
Java
JDK
Eclipse
Tomcat ์ค์นํ๊ธฐ
Tomcat ์ค์น
JSP
Eclipse
Tomcat
Eclipse ์ Tomcat ์ฐ๋ํ๊ธฐ
Eclipse x Tomcat ์ฐ๋
Eclipse
Tomcat
JSP ํ๋ก์ ํธ ์์ฑํ๊ธฐ
1.
[File] > [New] > [Dynamic Web Project]
a.
Project Name : Test
b.
Target runtime : Apache Tomcat v9.0
c.
Dynamic web module version : 3.1
2.
WebContent
a.
[์ฐํด๋ฆญ] > [New] > [JSP]
b.
File name : index.jsp
JSP ํ๋ก์ ํธ ์์ฑ
JSP
Eclipse
JSP ๊ฐ๋ฐํ๊ฒฝ
VS CODE ์ค์น
VS CODE ์ค์น
Tomcat ์ค์นํ๊ธฐ
Tomcat ์ค์น
VS CODE x Tomcat
1.
VS CODE ํ์ฅ ์ค์น : community server
2.
์๋ฒ ์ฐ๊ฒฐ
a.
๋ช ๋ น ํ๋ ํธ (ctrl + shift + P)
b.
Download server
c.
No, use server on disk
i.
Tomcat ์ค์น ๊ฒฝ๋ก ์ง์
3.
VS CODE ํ์ฅ ์ค์น : JSP
4.
JSP ํ๋ก์ ํธ ๊ตฌ์ฑ
VS CODE x Tomcat
๋ฒ์ ํธํ์ฑ
Java, JSP, Servlet, ๊ทธ๋ฆฌ๊ณ Tomcat์ ํธํ ๋ฒ์ ์ ๋ค์ ํ๋ก ์ ๋ฆฌํ์์ต๋๋ค:
์ด ํ๋ ์ผ๋ฐ์ ์ธ ํธํ์ฑ์ ๋ํ๋ด๋ฉฐ, ํน์ ๋ฒ์ ์ ์ธ๋ถ์ ์ธ ํธํ์ฑ์ ๋ค๋ฅผ ์ ์์ต๋๋ค. ํ๋ก์ ํธ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ์ ์ ํ ๋ฒ์ ์ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋ฒ์ ํธํ์ฑ
์ดํด๋ฆฝ์ค web.xml ์๋ฌ
์ดํด๋ฆฝ์ค์์ web.xml ๋ฅผ ์ผ์์ ์ผ๋ก ์๋ฌ๋ก ์ธ์ํ๋ ๊ฒฝ์ฐ
web.xml ์์ ํน์ ํ์ผ์ ์ฐธ์กฐํ๋ ๋ฌธ๋ฒ ์ฒดํฌ(Validation)์ ๋ฌด์ํ์ฌ ํด๊ฒฐํ ์ ์๋ค.
์ดํด๋ฆฝ์ค web.xml ์๋ฌ
Summary
JSP ํต์ฌ ๊ธฐ์ ์์
์๋ธ๋ฆฟ(Servlet)
๊ณผ
JSP(JavaServer Pages)
๋ ์๋ฐ ๊ธฐ๋ฐ ์น ๊ฐ๋ฐ์ ํต์ฌ ๊ธฐ์ ์ ๋๋ค.
โข
HTTP
โข
Servlet
โข
JSP
โฆ
JSP ํ๊ทธ
โช
์คํฌ๋ฆฝํธ ํ๊ทธ
โข
์ ์ธ๋ฌธ
โข
์คํฌ๋ฆฝํ๋ฆฟ
โข
ํํ๋ฌธ
โช
๋๋ ํฐ๋ธ ํ๊ทธ
โช
์ก์ ํ๊ทธ
โฆ
๋ด์ฅ ๊ฐ์ฒด
โช
request
โช
response
โช
out
โฆ
JSTL
โฆ
EL
โข
Filter
โข
Session
JSP ํต์ฌ ๊ธฐ์ ์์
Servlet
โข
Servlet
โข
์น ์ปจํ ์ด๋ - Tomcat
โข
์๋ธ๋ฆฟ ์๋ช ์ฃผ๊ธฐ
โข
์์ฒญ ๊ฒฝ๋ก ๋งคํ
โข
์์ฒญ ์ฒ๋ฆฌ
โข
์๋ต ์ฒ๋ฆฌ
Servlet
โข
init()
โข
service()
โฆ
doGet()
โฆ
doPost()
โข
destroy()
์๋ธ๋ฆฟ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋
์๋ช ์ฃผ๊ธฐ ๋ฉ์๋
โข
doGet()
โข
doPost()
โข
doPut()
โข
doDelete()
์์ฒญ ๋ฉ์๋
โข
์์ฒญ
โข
์๋ต
์ธ์ฝ๋ฉ ์ค์
์ปจํ ์ธ ํ์
โข
TEXT
โข
HTML
โข
JSON
โข
XML
์ปจํ ์ธ ํ์
JSP ๊ธฐ์ด
JSP ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ
JSP
Eclipse
JSP ํ๊ทธ
โข
์คํฌ๋ฆฝํธ ํ๊ทธ
: JSP ์์ ์๋ฐ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๊ทธ
โข
๋๋ ํฐ๋ธ ํ๊ทธ
: JSP ํ์ด์ง์ ์์ฑ๊ณผ ๊ตฌ์ฑ์ ์ค์ ํ๋ ํ๊ทธ
โข
์ก์ ํ๊ทธ
: JSP ํ์ด์ง์์ ํน์ ์์ ์ ์ํํ๋ ํ๊ทธ
JSP ํ๊ทธ
JSP
Eclipse
JSP ๋ด์ฅ๊ฐ์ฒด
JSP ๋ด์ฅ๊ฐ์ฒด
JSP
Eclipse
JSP ์ ๋ ฅ ์์ฒญ ์ฒ๋ฆฌ
jsp ์์ FORM ์์ฒญ์ ํ๊ณ ์์ฒญ ์ ๋ณด๋ฅผ ๋ฐ์์ ์ฒ๋ฆฌํ๋ ์์ ์ ํด๋ณด๊ฒ ์ต๋๋ค.
1.
์ ๋ ฅ ์์ฒญ ํ๋ฉด JSP
a.
<form> ํ๊ทธ์์ <input> ํ๊ทธ ์ ๋ ฅ ์์ฒญ ํผ ์์ฑ
b.
<input> name ์์ฑ์ ํ๋ผ๋ฏธํฐ ์ง์
c.
type=โsubmitโ ์์ฑ์ธ <input>, <button> ํ๊ทธ๋ก ์์ฒญ ์ ์ถ
d.
<form> ํ๊ทธ์ action ์์ฑ๊ณผ method ์์ฑ์ ๋ฐ๋ผ ์์ฒญ
i.
action : ์์ฒญ URL
ii.
method : ์์ฒญ ๋ฐฉ์ (get, post)
1.
ํผ ์์ฒญ์ผ๋ก๋ GET ๋ฐฉ์๊ณผ POST ๋ฐฉ์๋ง ๊ฐ๋ฅํฉ๋๋ค.
2.
์ ๋ ฅ ์์ฒญ ์ฒ๋ฆฌ JSP
a.
request.getParameter(โํ๋ผ๋ฏธํฐ๋ช โ) ๋ฉ์๋๋ก ์ ๋ ฅ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
b.
์์ฒญ์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ
JSP ์ ๋ ฅ ์์ฒญ ์ฒ๋ฆฌ
JSP ํ์ผ ์ ๋ก๋
ํ์ผ ์ ๋ก๋
ํด๋ผ์ด์ธํธ์์ ์ ์กํ ํ์ผ์ ์๋ฒ ์ธก์ ์ ์ฅํ๋๊ฒ
JSP ํ์ผ ์ ๋ก๋
JSP
Eclipse
์ ํจ์ฑ ๊ฒ์ฌ
๋ฐ์ดํฐ์ ์ ์ ์ฑ์ ํ์ธํ๋ ๊ณผ์
์ ํจ์ฑ ๊ฒ์ฌ & ์ ๊ท ํํ์
JavaScript
JSP ์์ธ ์ฒ๋ฆฌ ํ์ด์ง
JSP ์์ธ ์ฒ๋ฆฌ
ํํฐ (Filter)
: Java ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ HTTP ์์ฒญ๊ณผ ์๋ต์ ์ค๊ฐ์์ ๊ฐ๋ก์ฑ๊ณ ์กฐ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ตฌ์ฑ์์
์ฌ๋ฌ ์๋ธ๋ฆฟ ํด๋์ค์์ ๋ฐ๋ณต๋๋ ์ฝ๋๋ฅผ ์ผ๊ด์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ์ฌ ์ฌ์ฉํ๋ค.
ํํฐ (Filter)
์ธ์ (Session)
์ธ์ ์ด๋? (session)
์ธ์ (Session)
์ฟ ํค (Cookie)
์ฟ ํค๋? (cookie)
์ฟ ํค (Cookie)
๋ฆฌ์ค๋๋
์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ๊ณ ์ฒ๋ฆฌํ๋ ๊ฐ์์ ์ญํ
์ ํ๋ฉฐ, ์น ์ ํ๋ฆฌ์ผ์ด์ ์
์๋ช ์ฃผ๊ธฐ๋ ์ํ ๋ณํ์ ์๋์ผ๋ก ๋ฐ์
ํ ์ ์๋๋ก ํด์ค๋๋ค.
Listener๋?
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ๋ฐ์ํ๋ ํน์ ์ด๋ฒคํธ ์ ๋ํด ์๋์ผ๋ก ์คํ๋๋ ์ฝ๋๋ฅผ ํฌํจํ๋ ํด๋์ค์ ๋๋ค.
๋ฆฌ์ค๋ (Listener)
JSTL/EL
EL (Expression Language) - ํํ์ธ์ด
: JSP ํ์ด์ง์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๊ณ ํํํ๊ธฐ ์ํ ์ธ์ด
๋ชฉ์ : JSP ํ์ด์ง์์ ์๋ฐ ์ฝ๋๋ฅผ ์ต์ํ
EL (Expression Language) - ํํ์ธ์ด
JSTL (JSTL (JavaServer Pages Standard Tag Library)
: ์๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ํ์ค ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
JSTL์ JSP ํ์ด์ง์์ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ํฅ์์ํค๊ณ , ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ทฐ๋ฅผ ๋ถ๋ฆฌ์์ผ์ค๋ค.
JSTL - JSP ํ์ค ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
JSP ์ฃผ์ ๋ณ
ํ์ด์ง ์ด๋ ๋ฐฉ์
โข
forward
โข
redirect
์น ํ์ด์ง๋ฅผ ์ด๋ํ๋ ๋ฐฉ์์ 2๊ฐ์ง๋ก ๋๋์ด ๋ณผ ์ ์๋ค.
ํ์ด์ง ์ด๋ ๋ฐฉ์ - forward & redirect
JSP
HTTP
ํ์๊ฐ์
์์ ์์
1.
users ํ ์ด๋ธ ์์ฑ
a.
DDL
ํ์๊ฐ์
๋ก๊ทธ์ธ
์์ ์์
๋ก๊ทธ์ธ
์์ด๋ ์ ์ฅ
โข
๋ก๊ทธ์ธ ํ๋ฉด
โฆ
login.jsp
โช
์์ด๋ ์ ์ฅ ํ๋ผ๋ฏธํฐ ์ถ๊ฐ
โช
remember-id
โข
๋ก๊ทธ์ธ ์ฒ๋ฆฌ
โฆ
LoginServlet.java
โฆ
๋ก๊ทธ์ธ ์ฑ๊ณต &
์์ด๋ ์ ์ฅ ์ฒดํฌ
โช
username, remember-id ์ฟ ํค ์์ฑ
โฆ
๋ก๊ทธ์ธ ์ฑ๊ณต &
์์ด๋ ์ ์ฅ ํด์
โช
username, remember-id ์ฟ ํค ์์ฑ
โช
์ ํจ์๊ฐ์ 0์ผ๋ก ์ค์
์ฟ ํค ์ญ์
์์ด๋ ์ ์ฅ
JSP ์ฌ์ดํธ ์ ์์ ์
ํ์ผ
โข
index.jsp
โข
SessionListener.java
JSP ์ฌ์ดํธ ์ ์์ ์ ๊ธฐ๋ฅ
์๋ ๋ก๊ทธ์ธ
1.
์ต์ด ๋ก๊ทธ์ธ ์ฑ๊ณต &
์๋ ๋ก๊ทธ์ธ ์ฒดํฌ
a.
์ธ์ฆ ํ ํฐ ์์ฑ
b.
์ธ์ฆ ํ ํฐ ์ ์ฅ
i.
persistence_logins ํ ์ด๋ธ
1.
์์ด๋
2.
์ธ์ฆ ํ ํฐ
3.
๋ง๋ฃ ์๊ฐ
c.
์ธ์ฆ ํ ํฐ ์ฟ ํค ์์ฑ
d.
์๋ต์ ์ฟ ํค ๋ด๊ธฐ
2.
๋ค์ ์ฌ์ดํธ ์ ์
a.
์ธ์ฆ ํํฐ
b.
์ธ์ฆ ํ ํฐ ์ฟ ํค ํ์ธ
c.
์ธ์ ์ ์ฌ์ฉ์ ์ ๋ณด ๋ฑ๋ก (๋ก๊ทธ์ธ)
ํ ํฐ?
: ์งง์ ๋ฌธ์์ด (์ฃผ๋ก, ์ํธํ๋ ๋ฌธ์์ด์ด๋ ๊ณ ์ ํ ์์ด๋๋ฅผ ๊ฐ์ง ๋ฌธ์์ด์ ์ ์ฅ)
์๋ ๋ก๊ทธ์ธ
๋ก๊ทธ์์
โข
ํค๋ or index.jsp
โฆ
๋ก๊ทธ์์ ๋ฒํผ ์ถ๊ฐ
โฆ
๋ก๊ทธ์์ ๋ฒํผ ํด๋ฆญ
โช
logout.jsp ์์ฒญ
โช
์๋ ๋ก๊ทธ์ธ
โข
์ธ์ฆ ํ ํฐ ์ฟ ํค ์ญ์
โข
์ธ์ฆ ํ ํฐ ๋ฐ์ดํฐ ์ญ์
โช
session ๋ฌดํจํ (๋นํ์ฑํ)
โข
session.invaildate()
๋ก๊ทธ์์
๊ฐ์
โข
MVC ํจํด
โข
MVC vs REST
โข
MVC๋ ์ธ์ ์ฐ์ด๋?
โข
REST๋ ์ธ์ ์ฐ์ด๋?
โข
MVC model1
MVC ํจํด
ํ์ผ ์ ๋ก๋
1.
์์์ผ ํ ๊ฒ
a.
HTTP - Content-Type ํค๋
b.
form ํ๊ทธ์ enctype ์์ฑ
i.
application/x-www-form-urlencoded
ii.
multipart/form-data
2.
ํ์ผ ์ ๋ก๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
3.
์ค์ต ์ฝ๋
ํ์ผ ์ ๋ก๋
JSP ๋ ์ด์์ ๊ตฌ์ฑํ๊ธฐ
โข
ํ๋ก์ ํธ ๊ตฌ์กฐ
โข
์ ์ ํ์ผ ์ค๋นํ๊ธฐ
โข
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๋นํ๊ธฐ
โข
์์ญ ํ์ผ ์ค๋นํ๊ธฐ
โฆ
jstl.jsp
โฆ
common.jsp
โฆ
header.jsp
โฆ
footer.jsp
โฆ
meta.jsp
โฆ
link.jsp
โฆ
script.jsp
โข
๋ฉ์ธ ํ๋ฉด ๋ง๋ค๊ธฐ
โฆ
index.jsp
โฆ
์์ญ ํ์ผ ํฌํจํ๊ธฐ
โช
์ก์ ํ๊ทธ
<jsp:include>
JSP ๋ ์ด์์ ๊ตฌ์ฑํ๊ธฐ
JSP x ๋ผ์ด๋ธ๋ฌ๋ฆฌ
JSP ๋ ์ด์์ ๊ตฌ์ฑํ๊ธฐ
JSP ํ์ด์ง์ ๊ณตํต๋๋ ๋ ์ด์์ ์์ญ์ ๋ณ๋์ JSP ํ์ผ์ ๋ง๋ค๊ณ ๊ฐ ํ์ด์ง๋ณ๋ก ํฌํจํ์ฌ(include) ์ ์ฉํ๋ค.
๋งค ํ์ด์ง ๋ณ๋ก, ๋ฐ๋ณต๋๋ ๋ ์ด์์ ์์ญ์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์ฝ๋์ ์ค๋ณต์ผ๋ก ์ธํด์ ์ ์ง๋ณด์(์์ )ํ๊ธฐ ์ด๋ ต๋ค.
JSP ๋ ์ด์์ ๊ตฌ์ฑํ๊ธฐ
lombok ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ์๋์ผ๋ก ์์ฑํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ์์ฐ์ฑ์ ํฅ์์์ผ์ค๋ค.
lombok ๋ค์ด๋ก๋
Download
lombok ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ฐฐํฌํ๊ธฐ
JSP ์น ํ๋ก์ ํธ ๋ฐฐํฌํ๊ธฐ - ROOT.war
JSP ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌํ๊ธฐ
JSP - Dynamic Web Project ๋ก ๊ฐ๋ฐํ ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌ ํ์ผ war ๋ก ์์ฑํ๊ณ ํธ์คํ ์๋ฒ์ ์ ๋ก๋ํ๋ ์์ ์ ์งํํด๋ด ๋๋ค.
JSP ์น ํ๋ก์ ํธ ๋ฐฐํฌํ๊ธฐ - ROOT.war
JSP
Tomcat
๋ฉํ ํ๊ทธ - favicon, thumbnail
html
JSP
JSP ๊ฒ์ํ ํ๋ก์ ํธ
JSP_BOARD
ALOHA-CLASS
jakarta EE
MVC
Model2
javax EE
MVC
Model1
JSP ์ผํ๋ชฐ ํ๋ก์ ํธ
jakarta EE
MVC
Model2
javax EE