java

JSP ๊ธฐ๋ณธ๊ตฌ์กฐ

dev_summer 2020. 10. 30. 16:55

 

1. JSP ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

- JAVA ์†Œ์Šค๋Š” ์ž๋ฐ”์†Œ์Šค > src์— ๋„ฃ์–ด์•ผํ•จ.

 

 

* WebContent

(1) deploy(๋ฐฐํฌ) ํŒŒ์ผ์„ ๋ชจ์•„๋‘๋Š” ๊ณณ

(2) ์ •์ ํŒŒ์ผ๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ๊ณณ(๋ณด์•ˆ์ด ํ•„์š”์—†๋Š”๋ฐ์ดํ„ฐ)

ex)html,scc,js,avi,png,jpg (์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์„ ํ• 

์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ,ํ†ฐ์บฃ์ด ์ปดํŒŒ์ผํ•˜์ง€์•Š์•„๋„ ๋˜๋Š” ํŒŒ์ผ)

๋ˆ„๊ตฌ๋‚˜ ์ ‘๊ทผํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์™ธ) .jsp - ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์„ ๋ชปํ•จ, ํ†ฐ์บฃ์ด ํ•„์š”

์˜ˆ์™ธ) META-INFํด๋” , WEB-INFํด๋” (ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ)

META-INF : context.xml (DB์—ฐ๊ฒฐ ์„ค์ • ํŒŒ์ผ, ๋ณด์•ˆ๋•Œ๋ฌธ์— jspํŒŒ์ผ๋กœ ์•ˆ์”€.)

WEB-INF : web.xml(ํ•„ํ„ฐ๋ง, ์ฃผ์†Œ ๋ถ„๋ฐฐ), libํด๋”(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์›๋ž˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ํŒŒ์ผ์— ๋„ฃ๊ณ  ๋นŒ๋“œํŒจ์Šค ํ•˜์ง€๋งŒ lib๋Š” ํ•„๋“œ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.)

์›๋ž˜๋Š” context.xml ๊ณผ web.xml์€ ์„œ๋ฒ„ํŒŒ์ผ์— ์žˆ๋‹ค.

meta-inf, web-inf์— ๊ฐ๊ฐ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์ค˜์•ผํ•จ.

 

* DB์—ฐ๊ฒฐ ๊ฐ์ฒด๋ฅผ ์–ด๋Š ํด๋ž˜์Šค์— ํฌํ•จ์‹œํ‚ค์ง€ ์•Š๊ณ  ํ†ฐ์บฃ์ด DB๊ฐ์ฒด๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉด ํด๋ž˜์Šค๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถœ์ˆ˜์žˆ๋‹ค

*context์— ํƒœ๊ทธ ๋ถ™์—ฌ์ฃผ๊ณ  web์—๋„ ๊ธฐ๋ณธ web-app ๋ถ™์—ฌ๋„ฃ๊ธฐ

 

 

p97 ํ”„๋กœ์ ํŠธ ํด๋”x src X classes ํŒŒ์ผ์ €์žฅ์€ build

์ „์ฒด์ ์ธ ๋‹ค์ด๋‚˜๋ฏน์›น์˜ ๊ตฌ์กฐ

 

โ˜… ์ฃผ๋ง๊นŒ์ง€ ์ˆ™์ œํ•˜๊ธฐ ๊บ„๋ฅด๋ฆ‰ โ˜…

HTTP header๋ž€?

HTTP content -type ์ด๋ž€?

MIME type ์ข…๋ฅ˜

(1) form ๋ฐ์ดํ„ฐ

(2) file ๋ฐ์ดํ„ฐ

(3) ๋ฌธ์ž ๋ฐ์ดํ„ฐ

(4) Json ๋ฐ์ดํ„ฐ

 

 

 

2. ์„œ๋ธ”๋ฆฟ ๋™์ž‘ ์›๋ฆฌ

1. ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ request ํ•œ๋‹ค.

http://IP/(์›น์ปจํ…ํŠธํŒŒ์ผ, ๋ฃจํŠธํŒŒ์ผ๋กœ ์˜ด)/์š”์ฒญํŒŒ์ผ.ํ™•์žฅ์ž

2. ์•„ํŒŒ์น˜(์›จ์„œ๋ฒ„)๋Š” ๋ฐ”๋กœ ์‘๋‹ตํ•ด์ค„์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ์€ responseํ•ด์ฃผ๊ณ  ๋ฐ”๋กœ ์‘๋‹ตํ•ด์ค„์ˆ˜์—†๋Š” JSPํŒŒ์ผ์ด๋ฉด

ํ†ฐ์บฃ์—๊ฒŒ ํŒŒ์ผ์„ ๋„˜๊ธด๋‹ค.

3. ํ†ฐ์บฃ์€ ๋ฐ›์€ ํŒŒ์ผ์„ XXX_JSP.java -> XXX_JSP.class ๋กœ ๋ฐ”๊พผ๋‹ค.

์ž๋ฐ”ํŒŒ์ผ๋กœ ํ•ด์„ํ•˜์—ฌ ์›น๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ XXX.html ํ˜•์‹์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.

 

* ์„œ๋กœ repuestํ• ์ˆ˜์žˆ๋Š” ๋ฐฉ์‹์„ p2p ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•œ๋‹ค. ex)์†Œ์ผ“ํ†ต์‹ 

HTTP์—์„œ๋Š” stateless ๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ํ•œ๋‹ค. ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ๋ฐ›๊ธฐ์œ„ํ•ด repuest๋ฐ›์œผ๋ฉด response๋ฅผ ๋„˜๊ฒจ์ฃผ๊ณ  ์—ฐ๊ฒฐ์„ ๋Š๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•จ.

* ์•„ํŒŒ์น˜์™€ ํ†ฐ์บฃ์€ ํ•˜๋Š” ์—ญํ• ์ด ๋‹ค๋ฅด๋‹ค. ์•„ํŒŒ์น˜๋Š” ์›น์„œ๋ฒ„๋กœ ์™ธ๋ถ€์—์„œ ์„œ๋ฒ„์˜ ๋ฃจํŠธ๋ฅผ ์ฐพ์„์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ณ 

ํ†ฐ์บฃ์€ ๋ฐ›์€ JSPํŒŒ์ผ์ค‘ JAVA๋ฅผ ์ปดํŒŒ์ผํ•˜์—ฌ HTML ํ˜•์‹์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.

 

 

 

 

3. Annotaction ์ปค์Šคํ…€

 

4. JSP ํƒœ๊ทธ <% %> <%= > p. 148

* ํ…œํ”Œ๋ฆฟ ์—”์ง„?

* ์•„ํŒŒ์น˜ / ํ†ฐ์บฃ :

* URL / URI

* localhost:8000/

* context/์„œ๋ธ”๋ฆฟ์ด๋ฆ„

 

 

 

์ข…๋ฅ˜

์‚ฌ์šฉ์šฉ๋„

ํ˜•์‹

์Šคํฌ๋ฆฝํŠธ๋ฆฟ(scriptlet)

์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๊ธฐ์ˆ ํ•จ

<% %>

์„ ์–ธ(declaratioin)

์ „์—ญ๊ณต๊ฐ„, ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•จ

<%! %>

ํ‘œํ˜„์‹(expression)

๊ณ„์‚ฐ์‹์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•จ. 

<%= %>

์ฃผ์„(comment)

JSP ํŽ˜์ด์ง€์— ์„ค๋ช…์„ ๋„ฃ์Œ

<%-- --%>

์ง€์‹œ์ž(Directive)

JSPํŽ˜์ด์ง€์— ์†์„ฑ์„ ์ง€์ •ํ•จ. ์ œ์ผ ์œ„์—์žˆ๋Š” ๊ฒƒ

<%@ %>

 

๋ชจ๋‹ˆํ„ฐ์— ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ์‹œํ‚ค๋Š” ๊ฒƒ์€ ๋ธŒ๋ผ์šฐ์ €, ์‘๋‹ต์‹œ ๋ชจ๋‹ˆํ„ฐ๋กœ ์ถœ๋ ฅ์‹œํ‚ค๋Š”๊ฒƒ์€ ์•„๋‹˜

 

1) ์Šคํฌ๋ฆฝํŠธ๋ฆฟ(scriptlet) p.162

JSPํŒŒ์ผ์€ html๊ณผ ๋‹ค๋ฅธ์ ์€ ์ง€์‹œ์ž

 

 

์ด์–ด์ƒคํฌ : ์™“๋‹ค๊ฐ“๋‹คํ•˜๋Š” ํŒจํ‚ท์„ ๋ณผ์ˆ˜์žˆ์Œ

โ€‹

โ€‹

post : ์ธ์„œํŠธ

get : ์…€๋ ‰ํŠธ

poot : ์—…๋ฐ์ดํŠธ

del : ์‚ญ์ œ

โ€‹

 

'java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

jsp ๋‚ด์žฅ๊ฐ์ฒด ์ด์šฉํ•˜๊ธฐ  (0) 2020.10.30
jsp ๊ธฐ์ดˆ  (0) 2020.10.30
jsp์™€ ์„œ๋ธ”๋ฆฟ๋ฐฉ์‹  (0) 2020.10.28
์ฟผ๋ฆฌ์ŠคํŠธ๋ง  (0) 2020.10.28
JSP-์‹œ์ž‘ํ•˜๊ธฐ(2)  (0) 2020.10.28