[Day1] JSP/Servlet 1 [12/2]

 

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

workspace ์ƒ์„ฑ

window - preference - workspace ์ธ์ฝ”๋”ฉ / css / html / jsp - utf8

font - ๊ธ€๊ผด - ์„ ํƒ

create a dynamic web project - jspPro, target ~ : new runtime - apche tomcat 8.5 - ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ์ฐพ์•„์„œ ์ ์šฉ(ํŒŒ์ผ์—์„œ)

next

generat with~ ์ฒดํฌํ•˜๊ธฐ

finish

 

webappํด๋” - ์˜ค๋ฅธ์ชฝ๋งˆ์šฐ์Šค - jsp - new jsp file(html5)

viewoport, date time, shourtcut.icon, cdn jquery ์„ค์ •

 

jspPro - ์˜ค๋ฅธ์ชฝ๋งˆ์šฐ์Šค - configure - convert to term project - modules - browser ๋‘๊ฐœ ์ฒดํฌ & jquery ๋‹ค ์ฒดํฌ

jspPro - ์˜ค๋ฅธ์ชฝ๋งˆ์šฐ์Šค - configure - convert to term project - term - ecmascript 5์—์„œ 6์œผ๋กœ ๋ณ€๊ฒฝ 

 

ctrl f11 (run server) - tomcat 8.5 - next - jspPro ์˜ฌ๋ฆฌ๊ฒ ๋‹ค๊ณ  ํ•˜๊ณ  finish (์„œ๋ฒ„ ํƒญ์— ์˜ฌ๋ผ๊ฐ)

 

port ๋ณ€๊ฒฝ : server.xml - port ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ (63๋ผ์ธ)

 

์„œ๋ฒ„ ์‹œ์ž‘ : tomcat์„œ๋ฒ„ ์˜ค๋ฅธ์ชฝ๋งˆ์šฐ์Šค - start

 

ctrl f11 (๋ธŒ๋ผ์šฐ์ €์— ๋„์›Œ์ง)

    

    Chapter 01.

     1. ๋ชฉ์ฐจ

     2. JDK 1.8.341

         JAVA_HOME ํ™˜๊ฒฝ์„ค์ •

     3. ํ†ฐ์บฃ 8.5.XX


    Chapter 02.

      1. ์›น ํ™˜๊ฒฝ  :    ํด  ์š”์ฒญ-> ์›น์„œ๋ฒ„

                             <-์‘๋‹ต

      2. URL / URI ์ฐจ์ด์ 

      3. ์›นํŽ˜์ด์ง€ : ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ถœ๋ ฅ๋œ ๋‚ด์šฉ,    ex01.html,  ex01.jsp ๋“ฑ๋“ฑ

          ์›น์‚ฌ์ดํŠธ :  ์›นํŽ˜์ด์ง€์˜ ๋ฌถ์Œ

      4. ์›น๋ธŒ๋ผ์šฐ์ €                             <-์‘๋‹ต                             [์›น ์„œ๋ฒ„]

         (ํด๋ผ์ด์–ธํŠธ ) 

          (1)url ์ฃผ์†Œ์ž…๋ ฅ ์—”ํ„ฐ  

          www.kenik.com               211.232.111.22  ->       

                                                 DNS

          

         ๋ธŒ๋ผ์šฐ์ €  [url]  GET ๋ฐฉ์‹ ์š”์ฒญ ( ๊ธฐ์–ต )     

     5.  http ํ”„๋กœํ† ์ฝœ

         ์š”์ฒญ   ํ—ค๋” + ๋ชธ์ฒด

         ์‘๋‹ต   ํ—ค๋”  + ๋ชธ์ฒด

         ์ดํ•ด/ ํ™•์ธ.

         

      6.  ์ •์ ์ž์› ( ex02.html ) / ๋™์ ์ž์›   (ex02.jsp )       

์ •์ 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>ex02.html - ์ •์  ์ž์›(ํŽ˜์ด์ง€)</h3>

<h1> ํ˜„์žฌ ์‹œ๊ฐ„ : 2022-12-02 ์˜ค์ „ 10:23:55 </h1>

</body>
</html>

๋™์  

<!--  JSP ๊ตฌ์„ฑ์š”์†Œ ์ค‘ ํ•˜๋‚˜ :  page ์ง€์‹œ์ž -->
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="java.util.Date"%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2022. 12. 2. ์˜ค์ „ 10:17:54</title>
<link rel="shortcut icon" type="image/x-icon" href="../images/SiSt.ico">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<style>
</style>
</head>
<body>
<h3>ex02.jsp - ๋™์  ์ž์›(ํŽ˜์ด์ง€)</h3>
<%
    // jsp ๊ตฌ์„ฑ์š”์†Œ ์ค‘   "์Šคํฌ๋ฆฝํŠธ ์š”์†Œ"   3๊ฐ€์ง€  - ์Šคํฌ๋ฆฝํŠธ๋ฆฟ
     // jsp ๊ตฌ์„ฑ์š”์†Œ ์ค‘   "์Šคํฌ๋ฆฝํŠธ ์š”์†Œ"   3๊ฐ€์ง€  - ํ‘œํ˜„์‹
    // ์ž๋ฐ” ์ฝ”๋”ฉ.
    // Date, Calendar, JDK1.8 ์ถ”๊ฐ€
    Date now = new Date();
    // ๋…„,์›”,์ผ, ์‹œ,๋ถ„,์ดˆ
    // ํ˜•์‹ํ™” ํด๋ž˜์Šค : 4๊ฐ€์ง€
    String pattern = "yyyy-MM-dd a hh:mm:ss";
    SimpleDateFormat  sdf = new SimpleDateFormat(pattern);
    String strNow =  sdf.format(now); // ๋ฌธ๋ฒ• ์—๋Ÿฌ

    //  ๋ˆ„๊ฐ€ ์ž๋ฐ” ์ฝ”๋”ฉ๋“ค์„ ์ปดํŒŒ์ผ/์‹คํ–‰
    // ex02.jsp -> ์š”์ฒญ -> [์›น์„œ๋ฒ„]-> ex02.jsp+[java coding]
    		//            ์‘๋‹ต                                          ์ปด,์‹ค
    		//                                                        javac.exe, java.exe
    		//                                       <- ์‘๋‹ต-        -> Ex02.java ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค
    		//                                                       ์ปด.์‹ค -> ์›น ์ปจํ…Œ์ด๋„ˆ [ ์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด ์ƒ์„ฑ] 
    		//                                                     WAS(ํ†ฐ์บฃ)
%>
<h1> ํ˜„์žฌ ์‹œ๊ฐ„ : <%= strNow %> </h1>

<script>
</script>
</body>
</html>

         1) ์š”์ฒญ URL ์„  ์›น์„œ๋ฒ„๋Š” ๋ถ„์„

            http://localhost:80/[jspPro]                  /days01   /  ex01.jsp

                            ๋„๋ฉ”์ธ

                            DNS

                            IP ์ฃผ์†Œ        context path(root) (-> ์›น ์ฐพ์•„๊ฐ€๋Š” ์ฃผ์†Œ)

                            

๋ฌผ๋ฆฌ์  ๊ฒฝ๋กœ   C:\\Class\\Workspace\JspClass\jspPro\webapp

                          ์›น์„œ๋ฒ„  

                                            ์‡ผํ•‘๋ชฐ

                                            ์‚ฌ๋‚ด๊ด€๋ฆฌ์›น์‚ฌ์ดํŠธ

                                            :

                                            :

                                            101 ํ˜ธ์‹ค\

           7. ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ? ์›น ์„œ๋ฒ„๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์‘๋‹ต์œผ๋กœ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ 

           ์ƒ์„ฑํ•ด ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ.       

                                              

 

               ์ค‘๊ตญ์ง‘ -   ์ฃผ๋ฌธ        -> [์›น์„œ๋ฒ„(A)]           + [WAS(ํ†ฐ์บฃ)์š”๋ฆฌ์‚ฌ]

                             ์„œ๋น™                                              

                                              

                                                    ์•„ํŒŒ์น˜ ํ†ฐ์บฃ( ์›น์„œ๋ฒ„ + WAS)           

                                                                                      WAS(ํ†ฐ์บฃ)

           8.  [๋ธŒ๋ผ์šฐ์ €] -> ์š”์ฒญ   ์›น์„œ๋ฒ„(์•„ํŒŒ์น˜)                  +  jsp(java ์ปด/์‹ค)-> ์‘๋‹ต๋ฐ์ดํ„ฐ

                                <-์‘๋‹ต                                                   ์„œ๋ธ”๋ฆฟ

              

                        ์›น์„œ๋ฒ„ (WASํ†ฐ์บฃ )  -   ์›น๊ธฐ์ˆ ( jsp, servlet) ,   php ์›น๊ธฐ์ˆ 

                          IIS์›น์„œ๋ฒ„             -  ์›น๊ธฐ์ˆ ( asp, asp.net)

           9.  java + server + ์‹คํ–‰->์‘๋‹ต + ํŽ˜์ด์ง€

               JavaServer Pages == [ JSP ]      

               

               JSP -> html ์‘๋‹ต

                      -> xml  ์‘๋‹ต    ***  jquery ajax

                      -> [JSON ์‘๋‹ต  ***  jquery ajax ]

                      ๋“ฑ๋“ฑ            

        

         10. WAS ๋งˆ๋‹ค ์ง€์›ํ•˜๋Š” jsp ๋ฒ„์ ผ, servlet ๋ฒ„์ ผ, EL ๋ฒ„์ ผ ๋“ฑ์ด ๋‹ค๋ฅด๋‹ค.

             ( Tomcat 8.5         2.3               3.1            3.0 )     

             

         11. p45  jsp ๋งŒ๋“ค๊ณ  ์‹คํ–‰          

         

            days01/ex100.jsp X   ์„œ๋ฒ„ ์š”์ฒญ

           1)  HTTP ์ƒํƒœ 404 - ์ฐพ์„ ์ˆ˜ ์—†์Œ

            -> ์š”์ฒญ URL ํ™•์ธ

            -> ์š”์ฒญ ํŒŒ์ผ X ํ™•์ธ

            

           2) HTTP ์ƒํƒœ 500 -  ๋‚ด๋ถ€ ์„œ๋ฒ„ ์—๋Ÿฌ ( ์ปดํŒŒ์ผ ์—๋Ÿฌ jsaperException )

                      - ๋ธŒ๋ผ์šฐ์ €     : ์—๋Ÿฌ ๋ฉ”์‹œ์ง€

                      - Console ์ฐฝ : ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํ™•์ธ      


   Chapter 03 ( p 50)

   

   - ex03.jsp( html + java)             ->  ์‘๋‹ตํ•   html ๋ฌธ์„œ ์ƒ์„ฑ

   - jsp ์ฝ”๋“œ =  1) ์„ค์ •๋ถ€๋ถ„  + 2) ์‘๋‹ต ์ƒ์„ฑ ๋ถ€๋ถ„     ๊ตฌ์„ฑ

   

์„ค์ •๋ถ€๋ถ„ : <%@ ๋ถ€๋ถ„

์‘๋‹ต์ƒ์„ฑ๋ถ€๋ถ„ : html~ <% ์ž๋ฐ”์ฝ”๋”ฉ ๋ถ€๋ถ„

 

 [ ์„ค์ • ๋ถ€๋ถ„ ]

   1) ์ƒ์„ฑํ•  ๋ฌธ์„œ์˜ ํƒ€์ž…(์ข…๋ฅ˜)

  contentType="text/html; charset=UTF-8" 

     : JSP ํŽ˜์ด์ง€์˜ ์ƒ์„ฑํ•  ๋ฌธ์„œ๊ฐ€ textํ˜•์‹์˜ html๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. 

     : ์ธ์ฝ”๋”ฉ(์บ๋ฆญํ„ฐ์…‹)  UTF-8 ์‚ฌ์šฉ

   2) ์ปค์Šคํ…€ ํƒœ๊ทธ ์„ค์ •. - JSTL

   3) ์ž๋ฐ”ํด๋ž˜์Šค ์ง€์ • 

 

 

   p 52

   [ JSP ํŽ˜์ด์ง€์˜ ๊ตฌ์„ฑ์š”์†Œ ]

   1. ๋””๋ ‰ํ‹ฐ๋ธŒ( Directive ) == ์ง€์‹œ์ž.

    - JSP ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์„ค์ • ์ •๋ณด๋ฅผ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ.

 

    <%-- <%@include %> --%>

       1) page ์ง€์‹œ์ž     - jsp ํŽ˜์ด์ง€์˜ ํ•„์š”ํ•œ ์ •๋ณด ์„ค์ •( ์ƒ์„ฑํ•  ๋ฌธ์„œ ์ข…๋ฅ˜, ๋ฒ„ํผํฌ๊ธฐ, ๋“ฑ๋“ฑ)

       2) taglib ์ง€์‹œ์ž  - ํƒœ๊ทธ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง€์ •

       3) include ์ง€์‹œ์ž - ํŠน์ • ์˜์—ญ์— ๋‹ค๋ฅธ ๋ฌธ์„œ๋ฅผ ํฌํ•จ.

   
* ํผ์„ผํŠธ : ์„œ๋ฒ„์—์„œ ์ง„ํ–‰๋œ๋‹ค๋Š” ์˜๋ฏธ

* ๊ณจ๋ฑ…์ด : ์ง€์‹œ์ž

 

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

     - jsp์—์„œ ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ.

     ( DB ์—ฐ๋™ )

     ex04.html           ์ •์  ํŽ˜์ด์ง€

<script>
    // java kor   0~100        \d{1,3}     999  ~ 101              
    console.log(    isNaN(  100 )   )      // false
    console.log(    isNaN(  "10a" )   )   // true              
    console.log(    isNaN(  "10" )   )     // false
    
    // 0<=        <=150
</script>

* ์œ ํšจ์„ฑ๊ฒ€์‚ฌ๋Š” html์—์„œ ํ•ด๋„ ์ถฉ๋ถ„~!

 

     ex04_ok.jsp             ๋™์  ํŽ˜์ด์ง€    (์ž๋ฐ”)

     ex04_el_ok.jsp        ๋™์  ํŽ˜์ด์ง€    (ELํ‘œํ˜„์–ธ์–ด)

 

* html์—์„œ form ํƒœ๊ทธ ์•ˆ์—์„œ name ํƒœ๊ทธ ์žˆ์–ด์•ผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’ ๋„˜์–ด๊ฐ

     1) ํ‘œํ˜„์‹( Experssion) :  ๊ฐ’์„ ์ถœ๋ ฅ  <%-- <%= ์ถœ๋ ฅ๊ฐ’, ๋ฉ”์„œ๋“œ๋ช…() %> --%>

     2) ์Šคํฌ๋ฆฝํŠธ๋ฆฟ( ScriptLet) : ์ž๋ฐ” ์ฝ”๋“œ + ์‹คํ–‰  <%-- <% %> --%>

* -> ํผ์„ผํŠธ ๋Š์–ด๋„ ์ฝ”๋”ฉ ์—ฐ๊ฒฐ๋จ

     3) ์„ ์–ธ๋ถ€( Declaration ) :  ๋ณ€์ˆ˜ ์„ ์–ธ, ๋ฉ”์„œ๋“œ(ํ•จ์ˆ˜) ์„ ์–ธ  <%-- <%! %> --%>

         ex07.jsp 

   


html์—์„œ n๊ฐ’ ์ž…๋ ฅ ๋ฐ›์•„์„œ -> jsp ๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฒฝ์šฐ

- ๋„˜๊ฒจ๋ฐ›์€ n๊ฐ’์ด Null ์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธ

- null ์ด ์•„๋‹Œ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ

- ์ฒ˜๋ฆฌ ํ›„ ์ถœ๋ ฅ

 

* n๊ฐ’ ์ฒ˜์Œ์— null ์œ ์ง€ํ•˜๋Š” ๋ฒ• -> value ํƒœ๊ทธ


     ์„ ์–ธ๋ถ€( Declaration ) :  ๋ณ€์ˆ˜ ์„ ์–ธ, ๋ฉ”์„œ๋“œ(ํ•จ์ˆ˜) ์„ ์–ธ

     

     ์Šคํฌ๋ฆฝํŠธ๋ฆฟ ์„ ์–ธํ•œ ๋ณ€์ˆ˜

     ์„ ์–ธ๋ถ€            "                   ์ฐจ์ด์  ? 

 

*์ž๋ฐ” ๋ฉ”์„œ๋“œ๋ฅผ ํ•ด๋‹น jspํŒŒ์ผ์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ 

์™œ? jsp -> WAS      ์›น์ปจํ…Œ์ด๋„ˆ(์„œ๋ธ”๋ฆฟ ์ฒ˜๋ฆฌ) -> ex07.class -> ์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด ์ƒ์„ฑ

์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด ์ƒ์„ฑ๋˜์–ด์ ธ์„œ (new ์—ฐ์‚ฐ์ž์ฒ˜๋Ÿผ) ์‚ฌ์šฉ๊ฐ€๋Šฅ -> ์ฐจ์ด์  ๋‹ค์Œ ์‹œ๊ฐ„์—


DB Conn

com - utill - dbconn ๋ถ™์—ฌ๋„ฃ๊ธฐ

 

* System.out.println(conn);       // ์„œ๋ฒ„  ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅ

* out.append(conn.toString()); // ํด๋ผ์ด์–ธํŠธ ๋ธŒ๋ผ์šฐ์ €์— ์ถœ๋ ฅ

 


 

1202 ์ง€์šฐ์ง€๋ง๊ธฐ

 

  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ