๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๊ธฐ +/Web

(72)[Web]8์ผ์ฐจ: โ–  ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ โ– , โ–  JSP(Java Server Pages) โ– , F_WebApp04>Test001~004, web.xml

by ์ข…์ด๋นจ๋Œ€ 2023. 12. 6.
TOP

๋ชฉ์ฐจ

    1. 2023.12.6(์ˆ˜)

    โ– โ– โ–  ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ โ– โ– โ– 

     

    /* **
    !!!๋™์ ์œผ๋กœ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ์œ„ํ•œ ๊ฒƒ!!!
    
    ๋™์ ์œผ๋กœ ํŽ˜์ด์ง€ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ servlet
    jsp ๋งŒ ๋‹ค๋ฃฌ ์ฑ…์€ ์—†์Œ-> servlet ๊ณผ ํ•จ๊ป˜ ๋‹ค๋ฃธ
    
    ๊ฒฐ๊ณผ์ ์œผ๋กœ jsp๋ฅผ ์“ฐ์ง€๋งŒ, ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” servlet ์ด ๋Œ์•„๊ฐ
    - jsp -> html ์ด java๋ฅผ ํ’ˆ๊ณ ์žˆ์Œ
    - servlet -> java ๊ฐ€ html ์„ ํ’ˆ๊ณ  ์žˆ์Œ
    ** */

     

    โ—‹ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐœ๋…

        ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ์— ๋Œ€ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค.

        ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ์ƒํƒœ๋กœ ๋ฌด์—‡์„ ์š”์ฒญํ–ˆ์œผ๋ƒ์— ๋”ฐ๋ผ ์Šค์Šค๋กœ ํŒ๋‹จํ•˜์—ฌ ์ž๋™์œผ๋กœ ๊ฐ๊ฐ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ

    ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

    โ—‹ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์„ฑ์š”์†Œ

        1. ์›น ๋ธŒ๋ผ์šฐ์ €

            - ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ, ํฌ๋กฌ, ํŒŒ์ด์–ดํญ์Šค, ์˜คํŽ˜๋ผ, ์‚ฌํŒŒ๋ฆฌ, ...

        2. ์›น ์„œ๋ฒ„(WAS: Web Application Server)

            -  ์›น ์„œ๋ฒ„๋ž€ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ด์šฉํ•˜์—ฌ World Wide Web ์„ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ

                ๋ฏธ๋ฆฌ ์ €์žฅ๋œ ํ•˜์ดํผํ…์ŠคํŠธ(Hyper Text)๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์ด๋‹ค.

            - ๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” MS ๊ธฐ๋ฐ˜ IIS ์„œ๋ฒ„์™€ ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜์˜ ์•„ํŒŒ์น˜ ์„œ๋ฒ„ ๋“ฑ์ด ์žˆ๋‹ค.

     

        3. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„

            - ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ ๊ฐ’์„ ์›น ์„œ๋ฒ„์— ์ „๋‹ฌ

            - ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ–ˆ๋А๋ƒ์— ๋”ฐ๋ผ ๊ทธ ๋ฌธ์„œ๋ฅผ ๋™์ ์œผ๋กœ ๋งŒ๋“ค์–ด ์ „๋‹ฌ

            - JSP, Servlet ๋“ฑ์œผ๋กœ ๋™์  ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ•

     

        4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

            - ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์ฒ˜๋ฆฌ

     

    โ—‹ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ๋ถ„

        1. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋ฐฉ์‹

            - ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค.

            - ๋Œ€์šฉ๋Ÿ‰ ์ฒ˜๋ฆฌ์— ์œ ๋ฆฌํ•˜๋ฉฐ, CGI(Common Gateway Inerface)๋ฐฉ์‹์— ๋น„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ ๋‹ค.

    /* cgi -> ํ•œ๊ธ€ํ”„๋กœ๊ทธ๋žจ์„ A๊ฐ€ ์—ด์—ˆ๋‹ค๊ฐ€ ๋‹ค์Œ์‚ฌ๋žŒ์ด ์—ด์—ˆ๋˜ ๊ฒƒ๊ณผ ๊ฐ™์ด.. */

        2. ์Šคํฌ๋ฆฝํŠธ ๋ฐฉ์‹

            - ์ฝ”๋“œ ํ˜•ํƒœ: ์ปดํŒŒ์ผ ๋˜์ง€ ์•Š์€ ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ

            - ์‹คํ–‰ ๋ฐฉ์‹: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•œ ๋’ค ์‹คํ–‰

            - ์ฝ”๋“œ ๋ณ€๊ฒฝ: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋งŒ ์ˆ˜์ •

     

    โ—‹ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

        1. Servlet(Server + Appleet)

          - SUN ์‚ฌ์—์„œ ๋‚ด๋†“์€ ๊ธฐ์ˆ ๋กœ์„œ JAVA ๋ผ๋Š” ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ๋™์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์ˆ .

            JAVA ๋ผ๋Š” ์ฝ”๋“œ์•ˆ์— HTML ํƒœ๊ทธ๊ฐ€ ํ˜ผ์žฌ๋˜์–ด ์žˆ์–ด ํšจ์œจ์„ฑ์ด ๋‹ค์†Œ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

            -> JAVA ๊ฐ€ HTML์„ ํ’ˆ๊ณ  ์žˆ๋Š” ํ˜•ํƒœ. (ํ™•์žฅ์ž๋Š” .java -> .class)

     

        2. JSP(Java Server Page)

          - JSP ๋˜ํ•œ JAVA ๋ผ๋Š” ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด์ง€๋งŒ, ASP, PHP ์ฒ˜๋Ÿฌ ๋™์ €์ธ ์ปจํ…์ธ ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด

            ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ํ˜•์‹์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋น„๊ต์  ์‰ฌ์šด ๊ฐœ๋ฐœ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

            ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง์ ‘ ํƒœ๊ทธ๋ฅผ ์ •์˜ํ•ด์„œ ํ•˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ๊ฐ–๊ณ  ์žˆ๋‹ค.

            -> HTML ์ด JAVA ๋ฅผ ํ’ˆ๊ณ  ์žˆ๋Š” ํ˜•ํƒœ. (ํ™•์žฅ์ž๋Š” .jsp -> .html)




     

     

    โ– โ– โ–  JSP(Java Server Pages) โ– โ– โ– 

     


    1. JSP(Java Server Pages): ์›น ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ ์–ธ์–ด์˜ ํ•œ ์ข…๋ฅ˜

     

    2. JSP(Java Server Pages)๋Š” ๋™์ (Dynamic)์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ๋น„๊ต์  ๊ฐ„๋‹จํžˆ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š”

        ์ž๋ฐ”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ(Server Side Script)๋กœ

        ์ž๋ฐ” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ UI(User Interface) ์˜์—ญ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋‹ค.

     

    3. JSP(Java Server Pages)๋Š” ์ž๋ฐ”์˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ๋ฐฉ์‹์˜ ์–ธ์–ด๋กœ ๋‹จ์ผ ์Šค๋ ˆ๋””๋กœ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์„œ๋น„์Šคํ•œ๋‹ค.

        ์š”์ฒญ์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค... ์ฆ‰, ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ๋งˆ๋‹ค...

        ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์กด์˜ CGI์™€ ๋Š” ๋‹ฌ๋ฆฌ ํ•˜๋‚˜์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ์„œ๋น„์Šค๋˜๋Š” ์›๋ฆฌ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.
        ์ด๋Ÿฌํ•œ ์›๋ฆฌ๋Š” ์„œ๋ฒ„์ธก ๋ถ€ํ•˜๋ฅผ ์ค„์—ฌ์ฃผ๋ฉฐ, JSP ๋‚ด๋ถ€์—๋Š” ๋ณด์—ฌ์ค€๋А ์ฝ”๋“œ๋งŒ ์ž‘์„ฑํ•˜๊ณ  ์ง์ ‘ ์ž‘์—…ํ•˜๋Š” ๋ถ€๋ถ„์€ ์ž๋ฐ” ๋นˆ์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๋‘˜์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

        ์ด๋Š” ์„œ๋กœ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์„ ์ทจํ•˜๋ฉฐ, JAVA ๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ์žฅ์ ์ธ ์žฌ์ƒ์šฉ ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

       

    ํด๋ผ์ด์–ธํŠธ <------------------------> ์„œ๋ฒ„
    HTML, CSS, Javascript <------------> JSP(JAVA)
    ๋ธŒ๋ผ์šฐ์ €(IE, CR, FF ๋“ฑ) <-----------> ์›น์„œ๋ฒ„(ํ†ฐ์บฃ), ์˜ค๋ผํด
    ์š”์ฒญ <----------------------------> ์‘๋‹ต(HTML ์›น ํŽ˜์ด์ง€)

     

     

    4. JSP ์‹คํ–‰ ๊ตฌ์กฐ

        1๋‹จ๊ณ„. ์›นํด๋ผ์ด์–ธํŠธ์—์„œ ์›น ์„œ์„œ์— ์›น ํ”„๋กœ๊ทธ๋žจ(ํŽ˜์ด์ง€) ์š”์ฒญ.

     

        2๋‹จ๊ณ„. ์›น ์„œ๋ฒ„์—์„œ ์›น ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ JSP ํ”„๋กœ๊ทธ๋žจ(ํŽ˜์ด์ง€) ๋กœ๋“œ.

        3๋‹จ๊ณ„. JSP ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋ณ€ํ™˜ ์‹คํ–‰

             (โ€ป ์ด ๊ณผ์ •์—์„œ ์ผ๋ฐ˜ ใ€Ž.javaใ€ ์ธ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ใ€Ž-> Servletใ€)


        4๋‹จ๊ณ„. ใ€Ž.javaใ€ ์ธ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜๋œ Sevlet ์˜ ์ปดํŒŒ์ผ(.class) ๋ฐ ์‹คํ–‰.


        5๋‹จ๊ณ„. ์‹คํ–‰ ๊ฒฐ๊ณผ๋กœ ๋™์  ์ƒ์„ฑ๋œ HTML Document ๋ฅผ ํด๋ผ์ด์–ธํŠธ ์ธก์— ์‘๋‹ต.


        6๋‹จ๊ณ„. ์›น ํด๋ผ์ด์–ธํŠธ๋Š” ์‘๋‹ต๋ฐ›์€ HTML Document ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์›น ํŽ˜์ด์ง€ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ

     

     

    5. ์ดํด๋ฆฝ์Šค JSP ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•

        

        1) ํ”„๋กœ์ ํŠธ(new) ์ƒ์„ฑ ์‹œ ใ€ŽDynamic Web Projectใ€ ์„ ํƒ

        2) ํ”„๋กœ์ ํŠธ ๋ช… ์ž…๋ ฅ ์‹œ ์‹๋ณ„์ž ์ž‘์„ฑ ๊ทœ์น™์„ ์ค€์ˆ˜

            ์›๋ž˜ ๊ทœ์น™์— ๋”ฐ๋ฅด๋ฉด ใ€ŽJspTest001.jspใ€์™€ ๊ฐ™์ด ๋ช…๋ช…ํ•ด์•ผ ํ•˜์ง€๋งŒ,

            ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ (๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด) ์ข€ ๋” ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก

            ์ผ๋‹จ ์ง€๊ธˆ์€(๋‹น๋ถ„๊ฐ„์€) ใ€Žjaptest001.jspใ€์™€ ๊ฐ™์ด ๋ช…๋ช…ํ•œ๋‹ค.

        3) Target Runtime ์ง€์ • -> ํ†ฐ์บฃ ์„ค์น˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ์—ฐ๊ฒฐ

        4) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ํ›„์—๋Š” Server ํƒญ์—์„œ ํ†ฐ์บฃ ์„œ๋ฒ„ ๋“ฑ๋ก

            (๋‹จ, ์„œ๋ฒ„์— ์ƒˆ๋กœ ๋“ฑ๋กํ–ˆ์„ ๊ฒฝ์šฐ ์„œ๋ฒ„ ๊ด€๋ จ ์„ค์ •์„ ์žฌ๊ตฌ์„ฑ)

        5) ํ†ฐ์บฃ ์„œ๋ฒ„์— ํ”„๋กœ์ ํŠธ ๋“ฑ๋ก -> add and remove

        6) ํ†ฐ์บฃ ์„œ๋ฒ„ ์‹œ์ž‘(์žฌ์‹œ์ž‘)

            โ€ป ์ด ์‹œ์ ์—์„œ...

                ํฌํŠธ๋ฒˆํ˜ธ ์„ค์ • ๋ฐ ํ™•์ธ ํ•„์š”

                (์˜ค๋ผํด์ด ์›น ์ƒ์—์„œ port 8080 ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถฉ๋Œ ๋ฐฉ์ง€)

                ใ€ŽProject Explorerใ€ ์˜ ใ€ŽServerใ€ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋…ธ๋“œ๋ฅผ ํ™•์žฅํ•˜๋ฉด

                ใ€Žserver.xmlใ€ ํŒŒ์ผ์ด ์กด์žฌํ•˜๋ฉฐ, ์ด ํŒŒ์ผ์„ ์—ด์–ด 63 ~ 65 ์ •๋„ ๋ผ์ธ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•œ๋‹ค.

     

               

    <Connector UIRIEncoding="UTF-8" ... port="3306" />
    
                           --------------------     ----------
    
                            ↑ ์ถ”๊ฐ€ ์‚ฝ์ž…              ↑ ์ˆ˜์ •(๊ธฐ๋ณธ 8080)

            โ€ป xml ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ ์„œ๋ฒ„๋ฅผ ์žฌ์‹œ์ž‘ ํ•ด์•ผ ํ•œ๋‹ค.          check~!!!

     

        7) JSP ํŽ˜์ด์ง€ ์ž‘์„ฑ(ํ™•์žฅ์ž ใ€Ž.jspใ€)

            -> WebContent ๋””๋ ‰ํ„ฐ๋ฆฌ ํ•˜์œ„์— ์ž‘์„ฑ

            โ€ป ํŽ˜์ด์ง€ ์ž์„ฑ ์ „์— Encoding ๋ฐฉ์‹์„ ์ฒดํฌ ๋ฐ ์„ค์ •ํ•œ๋‹ค. (UTF-8)

            โ€ป JSP ๊ธฐ๋ณธ ํŽ˜์ด์ง€์˜ ํ…œํ”Œ๋ฆฟ์„ HTML5 ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜์ •ํ•œ์—ฌ ์„ค์ •ํ•œ๋‹ค. (๊ธฐ๋ณธ HTML 4.01)

     

        8) ํ†ฐ์บฃ ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ 

            ์›น ๋ธŒ๋ผ์šฐ์ €์˜ URL ์ฃผ์†Œ์ฐฝ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์†Œ๋ฅผ ์š”์ฒญํ•œ๋‹ค. (ํด๋ผ์ด์–ธํŠธ ์ž…์žฅ)

     

         

            http://์„œ๋ฒ„์ฃผ์†Œ:ํฌํŠธ๋ฒˆํ˜ธ/ํ”„๋กœ์ ํŠธ์ด๋ฆ„/ํŒŒ์ผ์ด๋ฆ„.jsp
            http://localhost:3306/WebApp04/jsptest001.jsp
                 -----------
                 127.0.0.1

            โ€ป ์›๊ฒฉ ์ ‘์†์ธ ๊ฒฝ์šฐ localhost(127.0.0.1) ๋Œ€์‹  ๋ชฉ์ ์ง€ ์„œ๋ฒ„์˜ IP Adress ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

     

    โ—‹ jsp ๊ตฌ์„ฑ ์š”์†Œ

        1. ๋””๋ ‰ํ‹ฐ๋ธŒ(์ง€์‹œ์–ด)

          - ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์„ค์ • ์ •๋ณด ์ง€์ •. ํด๋ž˜์Šค ์†์„ฑ์„ ๋ณ€๊ฒฝ.

            <%@  %>

          · Page

            ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด ์ž…๋ ฅ (์ƒ์„ฑํ•˜๋Š” ๋ฌธ์„œ์˜ ํƒ€์ž…, ์ถœ๋ ฅ ๋ฒ„ํผ์˜ ํฌ๊ธฐ, ์—๋Ÿฌ ํŽ˜์ด์ง€ ๋“ฑ)

            ํ˜„์žฌ ๋ฌธ์„œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด

            page ๋””๋ ‰ํ‹ฐ๋ธŒ๋Š” JSP ํŽ˜์ด์ง€์™€ ๊ด€๋ จ๋œ ์†์„ฑ์„ ์ •์˜ํ•˜๊ณ  ์ด ์†์„ฑ๋“ค์€ ์›น ์ปจํ…Œ์ด๋„ˆ์— ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

            ๋˜ํ•œ, ํ•œ ํŽ˜์ด์ง€์— page ๋””๋ ‰ํ‹ฐ๋ธŒ๋Š” ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ฑ์žฅ ํ•  ์ˆ˜ ์žˆ๊ณ  ์œ„์น˜๋„ ๊ด€๊ณ„ ์—†๋‹ค.

            ํ•˜์ง€๋งŒ ๋ณดํ†ต ํŽ˜์ด์ง€ ์ƒ๋‹จ์— ๊ธฐ์ˆ ํ•œ๋‹ค.

            ์ฃผ์š”์†์„ฑ

            - language: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ง€์ •
            - contentType: ์ƒ์„ฑํ•  ๋ฌธ์„œ ํƒ€์ž…

            - import: ์‚ฌ์šฉํ•  ์ž๋ฐ” ํด๋ž˜์Šค ์ง€์ •

            - session: ์„ธ์…˜ ์‚ฌ์šฉ ์—ฌ๋ถ€ ์ง€์ •

            - buffer: ์ถœ๋ ฅ ๋ฒ„ํผ ํฌ๊ธฐ ์ง€์ •

            - autoFlush: ์ถœ๋ ฅ ๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฑ„์›Œ์กŒ์„ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ๋ฒ„ํผ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋น„์šฐ๊ฒŒ ๋งŒ๋“ค์ง€์˜ ์—ฌ๋ถ€ ์ง€์ •

            - info: ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์„ค๋ช…

            - errPage: ์‹คํ–‰ ๋„์ค‘ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€ ์ง€์ •

            - pageEncoding: ํŽ˜์ด์ง€ ์ž์ฒด์˜ ์บ๋ฆญํ„ฐ ์ธ์ฝ”๋”ฉ ์ง€์ •

          · tablib
            ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(tag library)

            ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  ํƒœ๊ทธ ๋ชจ์Œ(์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ธฐ๋Šฅ ์„ค์ •)

          · include

            ๋‹ค๋ฅธ ๋ฌธ์„œ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ธฐ๋Šฅ

            ์—ฌ๋Ÿฌ JSP ํŽ˜์ด์ง€์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ํฌํ•จํ•˜๋Š” ๋‚ด์šฉ์ด ์žˆ์„ ๋•Œ ์ด๋Ÿฌํ•œ ๋‚ด์šฉ์„ ๋งค๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  

            ๋ณ„๋„์˜ ํŒŒ์ผ์— ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ JSP ํŒŒ์ผ์— ์‚ฝ์ž…๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ -> ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ

            include ๋””๋ ‰ํ‹ฐ๋ธŒ ์ฒ˜๋ฆฌ ๊ณผ์ •์€

            ์ •์ ์œผ๋กœ include ์ง€์‹œ์ž๋ฅผ ์‚ฌ์šฉํ•œ JSP ํŽ˜์ด์ง€๊ฐ€ ์ปดํŒŒ์ผ ๋˜๋Š” ๊ณผ์ •์—์„œ include ๋˜๋Š” JSP ํŽ˜์ด์ง€ ์†Œ์Šค ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ํฌํ•จํ•ด์„œ ์ปดํŒŒ์ผ ํ•œ๋‹ค.

            ์ฆ‰, ๋ณต์‚ฌ& ๋ถ™์—ฌ๋„ฃ๊ธฐ ๋ฐฉ์‹์œผ๋กœ ๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ํ•˜๋‚˜๋กœ ๊ตฌ์„ฑํ•œ ํ›„ ๊ฐ™์ด ๋ณ€ํ™”๋˜๊ณ  ์ปดํŒŒ์ผ ๋œ๋‹ค.

        2. ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ

          - ์Šคํฌ๋ฆฝํŠธ ๋ฆฟ(Scriptlet)... ์Šคํฌ๋ฆฝ ๋ฆฟ...์Šคํฌ๋ฆฝํ‹€๋ฆฟ...

            JSP์— ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๊ธฐ์ˆ 

            <% %>

            JSP ๋ฌธ์„œ ๋‚ด์— JAVA ์ฝ”๋“œ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ๋ถ€๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋กœ์ง€ ์ž๋ฐ” ์ฝ”๋“œ๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

            ์Šคํฌ๋ฆฝํŠธ ๋ฆฟ์— ์„ ์–ธ๋˜ ๋ณ€์ˆ˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜์˜ ์„ฑ๊ฒฉ์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฉฐ

            (์„œ๋ธ”๋ฆฟ ์•ˆ์— ์žˆ๋Š” service() ๋ฉ”์†Œ๋“œ ์•ˆ์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜์ด๋ฏ€๋กœ...)

            ์ž๋ฐ”์—์„œ ๋ฉ”์†Œ๋“œ ๋‚ด์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

          - ํ‘œํ˜„์‹(Expression)
            HTML ๋ฌธ์„œ ๊ฒฐ๊ณผ๊ฐ’์ด ํฌํ•จ์‹œํ‚ค๊ณ ์ž ํ• ๋•Œ ์‚ฌ์šฉ
            <%= %>
            (์ฆ‰, ๋ธŒ๋ผ์šฐ์ €์— ๋“ฑ์žฅ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์˜์—ญ)

          - ์„ ์–ธ๋ถ€(Declaration)
            ์Šคํฌ๋ฆฝํŠธ๋ฆฟ์ด๋‚˜ ํ‘œํ˜„์‹์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ ์ž‘์„ฑ ์‹œ ์‚ฌ์šฉ.
            <%! %>

            ์Šคํฌ๋ฆฝํŠธ ๋ฆฟ์ด๋‚˜ ํ‘œ์…˜์‹์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š”
            ๋ถ€๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ ์–ธ๋ถ€์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ณผ์ •์—์„œ
            ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์˜ ์ž…์žฅ์„ ์ทจํ•˜๊ฒŒ ๋˜๋ฉฐ ์ „์—ญ ๋ณ€์ˆ˜์˜ ์„ฑ๊ฒฉ์„ ๊ฐ€์ง„๋‹ค.
            ๋˜ํ•œ, ใ€Ž_jspInit()ใ€, ใ€Ž_jspDestory()ใ€ ์™€ ๊ฐ™์€ ์ƒ๋ช…์ฃผ๊ธฐ ์šด์˜์„ ์œ„ํ•ด ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.


    F_WebApp04

    ใ„ด C:\WebStudy\WebApp04\WebContent

    ใ„ดใ„ดjsptest001.jsp_๋””๋ ‰ํ‹ฐ๋ธŒ ์˜์—ญ, ์Šคํฌ๋ฆฝ ๋ฆฟ ์˜์—ญ

    <%@ page contentType="text/html; charset=UTF-8"%>
    <!-- ** ๋””๋ ‰ํ‹ฐ๋ธŒ์˜์—ญ, page, ํ…์ŠคํŠธ๋กœ ์ž‘์„ฑ๋œ html, utf-8 ** -->
    
    <!-- **
    	์ƒ๊ธด๋ชจ์–‘์€ html๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ๋ฌธ๋ฒ•!
    	- html) ๋งŒ๋“ค์–ด์„œ ์ „๋‹ฌํ•˜๋ฉด ๋
    	- jsp) ๊ฐ ์ƒํ™ฉ์— ๋งž์ถฐ ๋งŒ๋“ค์–ด์ง„ ์„ค๊ณ„์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“ฆ
    ** -->
    <%
    	//Scriptlet(์Šคํฌ๋ฆฝํŠธ๋ฆฟ) ์˜์—ญ
    	
    	/* ์ž๋ฐ”๊ฐ€ ์˜ค๊ธฐ ๋•Œ๋ฌธ์—, ๋ผ์ธ๋‹จ์œ„ ์ฃผ์„-๋ธ”๋Ÿญ๋‹จ์œ„ ์ฃผ์„์‚ฌ์šฉ ๊ฐ€๋Šฅ */
    	String name = "๊น€์ง€๋ฏผ";
    	name += "์€ ํ™๊ธธ๋™์ด ์•„๋‹ˆ๋‹ค.";
    	
    	int result = 10 + 20;
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>jsptest001.jsp</title>
    </head>
    <body>
    
    <div>
    	<h1>JSP ๊ด€์ฐฐํ•˜๊ธฐ</h1>
    	<hr>
    </div>
    
    <div>
    	<h2><%=name %></h2>
    	<h2><%=result %></h2>
    </div>
    
    </body>
    </html>

    ใ„ดใ„ดjsptest002.jsp_ใ€Žoutใ€ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ, ใ€Žout.printlnใ€-> ๋„์–ด์“ฐ๊ธฐ,ใ€Ž\nใ€-> ๋„์–ด์“ฐ๊ธฐ,ใ€Ž<br>ใ€ -> ๊ฐœํ–‰

     

    <%@ page contentType="text/html; charset=UTF-8"%>
    <% 
    	// ์Šคํฌ๋ฆฝํŠธ ์˜์—ญ-> JSP ์—์„œ JAVA ์ฝ”๋“œ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š”(์‚ฌ์šฉํ•˜๋Š”) ์˜์—ญ
    	int a= 10, b=5, c;
    	c = a + b;
    	
    	//-- ์Šคํฌ๋ฆฝ ๋ฆฟ ์˜์—ญ์—์„œ ์ˆ˜ํ–‰๋œ ์ž๋ฐ” ์ฝ”๋“œ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š”
    	//	 ํ‘œํ˜„์‹์— ์˜ํ•ด HTML ๋ธŒ๋ผ์šฐ์ € ์˜์—ญ์— ์ถœ๋ ฅ๋œ๋‹ค.
    
    %>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>jsptest002.jsp</title>
    </head>
    <body>
    <div>
    	<h1>JSP ๊ด€์ฐฐํ•˜๊ธฐ</h1>
    	<hr>
    </div>
    
    <div>
    	<!-- ํ‘œํ˜„์‹ -->
    	<h2>ํ•ฉ) <%=a %> + <%=b %> = <%=c %></h2>
    </div>
    <%
    	// ์Šคํฌ๋ฆฝ ๋ฆฟ ์˜์—ญ
    	
    	//โ€ป ใ€Žoutใ€ ์€ ๋‚ด์žฅ ๊ฐ์ฒด๋กœ์„œ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์ด๋‹ค.
    	out.print("1) ํ•ฉ: " + a + "+" + b + "="+ c);
    	out.println("2) ํ•ฉ: " + a + "+" + b + "="+ c);
    	out.println("3) ํ•ฉ: " + a + "+" + b + "="+ c);
    	/* ** print, println์€ HTML document ์˜์—ญ์—์„œ ๋งŒ๋“ค์–ด์ง€๋ฏ€๋กœ ๊ฐœํ–‰๋˜์ง€ ์•Š์Œ ** */
    
    	out.println("<br></br>");
    	out.println("4) ํ•ฉ" + a + "+" + b + "="+ c);
    	out.println("5) ํ•ฉ" + a + "+" + b + "="+ c + "<br>");
    	/* ** out.println -> ๋„์–ด์“ฐ๊ธฐ ๋จ  ** */
    	
    	out.println("<br></br>");
    	
    	String str = String.format("6) ํ•ฉ: %d + %d = %d", a, b, c);
    	out.print(str);
    	out.print(str);
    	
    	out.println("<br></br>");
    
    	/* ** \n -> ๋„์–ด์“ฐ๊ธฐ๋จ ** */
    	str = String.format("7) ํ•ฉ: %d + %d = %d\n", a, b, c);
    	out.print(str);
    	out.print(str);
    	
    	out.println("<br></br>");
    
    	/* ** <br> -> ๊ฐœํ–‰๋จ ** */
    	str = String.format("8) ํ•ฉ: %d + %d = %d<br>", a, b, c);
    	out.print(str);
    	out.print(str);
    	
    %>
    
    </body>
    </html>

    ใ„ดใ„ดjsptest003.jsp_ใ€Ž_jspInit()ใ€ ๋ฉ”์†Œ๋“œ, ใ€Ž_jspDestroy()ใ€ ๋ฉ”์†Œ๋“œ, ใ€Ž_jspService()ใ€ ๋ฉ”์†Œ๋“œ

     

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%!
    	// โ—‹ ์„ ์–ธ๋ถ€ ์˜์—ญ -> ํ•จ์ˆ˜ ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•œ ์˜์—ญ
    	
    	// ์„ ์–ธ๋ถ€์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜ a
    	int a = 10;
    	
    	// ์„ ์–ธ๋ถ€์—์„œ ์ •์˜ํ•œ ํ•จ์ˆ˜ sum()
    	int sum(int x)
    	{
    		int s=0;
    		for (int i=1; i<=x; i++)
    			s += i;
    		return s;
    	}
    
    %>
    <%
    	// โ—‹ ์Šคํฌ๋ฆฝ ๋ฆฟ ์˜์—ญ
    	
    	// ์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜ b
    	int b=0;
    
    	a++;
    	b++;
    %>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>jsptest003.jsp</title>
    </head>
    <body>
    <div>
    	<h1>JSP ๊ด€์ฐฐํ•˜๊ธฐ</h1>
    	<hr>
    </div>
    
    <div>
    	<h2>๋ณ€์ˆ˜์˜ ๊ฐ’ ํ™•์ธ</h2>
    	<h3>a: <%=a %></h3>
    	<h3>b: <%=b %></h3>
    </div>
    
    <!-- 
    	โ€ป ์š”์ฒญํ•œ ํŽ˜์ด์ง€(jsptest003.jsp)์˜ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•œ ํ›„ ์ƒˆ๋กœ๊ณ ์นจ์„ ๋ฐ˜๋ณตํ•ด ๋ณด๋ฉด..
    		a ๋ณ€์ˆ˜(์„ ์–ธ๋ถ€์— ์„ ์–ธํ•œ ๋ณ€์ˆ˜) ๊ฐ’๋งŒ ๊ณ„์† ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    		a ๋ณ€์ˆ˜ ๊ฐ‘์‚ฐ ๊ณ„์† ์ฆ๊ฐ€ํ•˜๋Š” ์ด์œ ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
    		์„œ๋ธ”๋ฆฟ(survlet) ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด ๋ณด์•„์•ผ ํ•œ๋‹ค.
    		
    		์ฆ‰, jsptest003.jsp ์˜ ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด์•ผ ํ•œ๋‹ค.
    		
    		- ๊ฒฝ๋กœ
    		C:\WebStudy\.metadata\.plugins\org.eclipse.wst.server.core
    					\tmp0\work\Catalina\localhost\WebApp04\org\apache\jsp
    		-----------								  --------
    		workspace								  project
    		
    		- ํŒŒ์ผ
    			jsptest003_jsp.java
    			------------	----
    			jsp ํŒŒ์ผ๋ช…		์„œ๋ธ”๋ฆฟ(servlet)์˜ ํ™•์žฅ์ž -> ์ปดํŒŒ์ผ ์ด์ „
    			
    	   ==>> ๋ณ€์ˆ˜ a๋Š” ํด๋ž˜์Šค(jsptest003_jsp)์˜ ์ „์—ญ๋ณ€์ˆ˜๋กœ ์„ ์–ด๋‡ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    			์ด๋Š” ๊ฐ์ฒด๊ฐ€ ์†Œ๋ฉธ๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๊ณ„์† ๊ฐ’์ด ์œ ์ง€๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
    			๋ณ€์ˆ˜ b๋Š” ๋ฉ”์†Œ๋“œ(jsptest002_jsp ํด๋ž˜์Šค์˜ _jspService() ๋ฉ”์†Œ๋“œ) ๋‚ด์˜
    			์ง€์—ญ๋ณ€์ˆ˜๋กœ ์„ ์–ธ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    			
    			ใ€Ž_jspInit()ใ€ ๋ฉ”์†Œ๋“œ์™€ ใ€Ž_jspDestroy()ใ€ ๋ฉ”์†Œ๋“œ๋Š”
    			์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋  ๋•Œ์™€ ๋๋‚  ๋•Œ ํ•œ ๋ฒˆ์”ฉ๋งŒ ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.
    			๋ฐ˜๋ฉด.. ใ€Ž_jspService()ใ€ ๋ฉ”์†Œ๋“œ๋Š”
    			๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ํŽ˜์ด์ง€๊ฐ€์š”์ฒญ๋  ๋•Œ ๋งˆ๋‹ค ๋งค๋ฒˆ ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.
    			
    			์ด๋กœ ์ธํ•ด ๋ณ€์ˆ˜ b๋Š” ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์š”์ฒญ์ด ๋ฐœ์ƒํ•  ๋•Œ ๋งˆ๋‹ค
    			์ƒˆ๋กญ๊ฒŒ ์ดˆ๊ธฐํ™” ๋˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
    			
    			JSP ํŽ˜์ด์ง€์˜ ์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ์—์„œ ์„ ์–ธ๋œ ๋ชจ๋“  ๋ณ€์ˆ˜๋Š”
    			์ด ใ€Ž_jspService()ใ€ ๋ฉ”์†Œ๋“œ์˜ ์ง€์—ญ๋ณ€์ˆ˜๊ฐ€ ๋œ๋‹ค.
    			
    			๋˜ํ•œ, JSPํŽ˜์ด์ง€์˜ ์„ ์–ธ๋ถ€์˜์—ญ์—์„œ ์„ ์–ธ๋œ ๋ชจ๋“  ๋ณ€์ˆ˜๋Š”
    			ํด๋ž˜์Šค์˜ ๋ฒˆ์—ญ๋ณ€์ˆ˜(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)๊ฐ€ ๋œ๋‹ค.
    			
    			JSP ํŽ˜์ด์ง€์—์„œ ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ
    			์Šคํฌ๋ฆฝ๋ฆฟ ์˜์—ญ ๋‚ด๋ถ€์—์„œ๋Š” ์ •์˜ํ•  ์ˆ˜ ์—†๋‹ค.
    			์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ณผ์ •์—์„œ
    			๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์— ๋˜ ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ๊ฐ€ ๋‹ค์‹œ ์ •์˜๋˜๋Š” ์ƒํ™ฉ์ด ๋˜์–ด๋ฒ„๋ฆฌ๊ธฐ๋•Œ๋ฌธ์—
    			๋ฌธ๋ฒ•์ ์œผ๋กœ ์ž˜๋ชป๋œ ํ‘œํ˜„์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
    			
    			์„ ์–ธ๋ถ€๋Š”.. ๋น„๋ก ์‚ฌ์šฉ๋นˆ๋„๊ฐ€ ๋‚ฎ์ง€๋งŒ..
    			๋ฉ”์†Œ๋“œ๋Š” ์„ ์–ธ๋ถ€ ๋‚ด๋ถ€์—์„œ๋งŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
    		
     -->
    </body>
    </html>

    ใ„ดใ„ดjsptest004.java_์„œ๋ธ”๋ฆฟ ๊ด€๋ จ ์‹ค์Šต(GenericServlet ์„ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค๋กœ ์„ค๊ณ„)

    Test004.java ์ƒ์„ฑ
    ํŒŒ์ผ ์œ„์น˜
    GenericServlet์ด abstract์ด๋ฏ€๋กœ override ์ฒ˜๋ฆฌ1
    GenericServlet์ด abstract์ด๋ฏ€๋กœ override ์ฒ˜๋ฆฌ2
    GenericServlet์ด abstract์ด๋ฏ€๋กœ override ์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ ํ™”๋ฉด
    ์ž‘์„ฑํ•˜๋Š” ๋™์•ˆ ์„œ๋ฒ„๊ฐ€ ์ ์šฉํ•˜๋А๋ผ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๋˜๋ฏ€๋กœ, ์ž‘์„ฑ์ค‘ ์ž ๊น ๋ฉˆ์ถค
    private static final long serialVersionUID = 1L; ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•

    /* ==================
    	Test004.java
    	- Servlet ์‹ค์Šต
    =================== */
    
    // ํ˜„์žฌ... ์ž๋ฐ”์˜ ๊ธฐ๋ณธ ํด๋ž˜์Šค Test004
    // ์ด๋ฅผ... Servlet ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
    
    // GenericServlet ์„ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค๋กœ ์„ค๊ณ„ -> Servlet
    
    package com.test;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.GenericServlet;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    //import javax.servlet.Servlet;
    
    //public class Test004 implements Servlet
    //public abstract class Test004 extends GenericServlet
    public class Test004 extends GenericServlet
    {
    	private static final long serialVersionUID = 1L;
    
    	// GenericServlet ์˜ ์ถ”์ƒ๋ฉ”์†Œ๋“œ ์žฌ์ •์˜~!!!
    	@Override
    	public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException
    	{
    		// ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ๋ฐฉ๋ฒ•
    		response.setContentType("text/html; charset=UTF-8");
    		
    		try
    		{
    			// ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ ๊ตฌ์„ฑ
    			PrintWriter out = response.getWriter();
    			
    			out.print("<html>");
    			out.print("<head>");
    			out.print("<title>");
    			out.print("Test004.java");
    			out.print("</title>");
    			out.print("</head>");
    			
    			out.print("<body>");
    			out.print("<div>");
    			out.print("<h1>");
    			out.print("์„œ๋ธ”๋ฆฟ ๊ด€๋ จ ์‹ค์Šต");
    			out.print("</h1>");
    			out.print("<hr>");
    			out.print("</div>");
    			
    			out.print("<div>");
    			out.print("<h2>");
    			out.print("GenericServlet ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ ์„œ๋ธ”๋ฆฟ ํ…Œ์ŠคํŠธ");
    			out.print("</h2>");
    			out.print("</div>");
    
    			out.print("</body>");
    
    			out.print("</html>");
    			
    		} catch (Exception e)
    		{
    			System.out.println(e.toString());
    		}
    		
    	}
    
    }

     

    ใ„ดใ„ด web.xml_์ž‘์„ฑํ›„ server ์žฌ์‹œ์ž‘!!!

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
      <display-name>WebApp04</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      <!-- **Servlet ๊ณผ Servlet-mapping์ด ๊ฐ™์€ ์ด๋ฆ„์ด์–ด์•ผ ํ•จ** -->
      <servlet>
      	<servlet-name>Test004</servlet-name>				<!-- ๋งคํ•‘์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์ด๋ฆ„ -->
      	<servlet-class>com.test.Test004</servlet-class>		<!-- Serlvet ํด๋ž˜์Šค ์ด๋ฆ„ -->
      </servlet>
      
      <servlet-mapping>
      	<servlet-name>Test004</servlet-name>
      	<url-pattern>/test004</url-pattern>					<!-- Serlvet ๋Œ€์‘ํ•˜๋Š” URL -->
      </servlet-mapping>
      
    </web-app>

     

    http://localhost:3306/WebApp04/test004

    http://localhost:3306/WebApp04/test004