[Day5] JSP/Servlet 5 [12/8]

 

  p 132  JSP ๊ธฐ๋ณธ ๊ฐ์ฒด์™€ 4๊ฐ€์ง€์˜ ์˜์—ญ( scope )

       1)  ํ•œ ํŽ˜์ด์ง€ ์‚ฌ์šฉ๋˜๋Š” ์˜์—ญ : page scope(์˜์—ญ)    - page[Context] ๊ฐ์ฒด

            ex01.html ->                          page scope

       2)  ํ•˜๋‚˜์˜ ์š”์ฒญ์— ์‚ฌ์šฉ๋˜๋Š” ์˜์—ญ : request scope  - request ๊ฐ์ฒด

           ex01.html ->                  r          ํฌ์›Œ๋”ฉ      r        ex01.jsp

                          <-

       3) ๋ธŒ๋ผ์šฐ์ €  ex01.02.03. ์—ฌ๋Ÿฌ ๋ฒˆ ์š”์ฒญ :  session scope     - session ๊ฐ์ฒด (๋ธŒ๋ผ์šฐ์ € ๋‹ซ๊ธฐ์ „์— ๊ณ„์† ์‚ฌ์šฉ๊ฐ€๋Šฅ ๊ณต๊ฐ„)

       4) ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €) ๊ฐ€ ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ์˜์—ญ : application ์˜์—ญ  - application ๊ฐ์ฒด

(๋ธŒ๋ผ์šฐ์ € ์ƒ๊ด€์—†์ด ๋ชจ๋“  ์‚ฌ๋žŒ ์š”์ฒญํ•ด์„œ ๊ณต์œ ํ•˜๋Š” ์˜์—ญ)

          

 

     ๊ทธ๋ฆผ 5.11 ๋„ค ๊ฐ€์ง€ ์˜์—ญ๊ณผ ๊ธฐ๋ณธ ๊ฐ์ฒด์™€์˜ ๊ด€๊ณ„.     

     

     

     p 135  ์†์„ฑ ๋ฉ”์„œ๋“œ 

     setAttribute();

     getAttribute();

     

     getAttributeNames()

     removeAttribute( name )

 

-ex01_02.jsp-     

<%
    // 4๊ฐ€์ง€ ์˜์—ญ(scope) ๊ฐ๊ฐ ๊ฐ’์„ ์ €์žฅ.
    application.setAttribute("name", "admin");
    session.setAttribute("age", 20);
    request.setAttribute("addr", "seoul");
    pageContext.setAttribute("tel", "010-");
%>

 a name : <%= application.getAttribute("name") %><br>
 s age : <%= session.getAttribute("age") %><br>
 r addr : <%= request.getAttribute("addr") %><br>
 p tel : <%= pageContext.getAttribute("tel" ) %><br>


 <br>
 <a href="ex01_03.jsp">ex01_03.jsp</a>
 a name  , s age O
 r addr , p tel   X

* ์ž˜๋‚˜์˜ด

 

-ex01_03.jsp-

 a name : <%= application.getAttribute("name") %><br>
 s age : <%= session.getAttribute("age") %><br>
 
 r addr : <%= request.getAttribute("addr") %><br>
 p tel : <%= pageContext.getAttribute("tel" ) %><br>

* ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ & ์„ธ์…˜ : ๋‚˜์˜ด

* ๋ฆฌํ€˜์ŠคํŠธ & ํŽ˜์ด์ง€์ปจํ…์ŠคํŠธ : ์•ˆ๋‚˜์˜ด

 

-ex01_04.jsp-

 a name : <%= application.getAttribute("name") %><br>
 <!-- 
  ์„ธ์…˜์„ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜์ง€ ์•Š๋Š” ๋™์•ˆ 
  ์ ‘์†ํ•œ ์‚ฌ์šฉ์ž๋งŒ ๊ณ„์† ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์ด ์„ธ์…˜์ด๋ผ๋Š” ์˜์—ญ์ด๊ณ 
  ์ธ์ฆ, ๊ถŒํ•œ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋“ฑ๋“ฑ ๊ตฌํ˜„
  -->
 s age : <%= session.getAttribute("age") %><br> 
 r addr : <%= request.getAttribute("addr") %><br>
 p tel : <%= pageContext.getAttribute("tel" ) %><br>

* ํฌ๋กฌ ๋‹ค ๋‹ซ๊ณ  ๋‹ค์‹œ ๋„์šฐ๋ฉด -> ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ์‚ด์•„์žˆ์Œ (์„œ๋ฒ„๊ฐ€ ์‚ด์•„์žˆ๋Š” ํ•œ)

* ์„œ๋ฒ„ ํด๋ฆฐํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์—†์Œ

 

*** request, session -> ๋งŽ์ด์”€ / application ์ข€ ์”€

 

- MVC์—์„œ request

- ๋กœ๊ทธ์ธ,๋กœ๊ทธ์•„์›ƒ session


   p139  Chapter 06 ์—๋Ÿฌ ์ฒ˜๋ฆฌ

    1.  ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

    2. ์—๋Ÿฌ ํŽ˜์ด์ง€

    3. ์ƒํƒœ ์ฝ”๋“œ(404, 500)์™€ ์˜ˆ์™ธ ํƒ€์ž…๋ณ„ ์—๋Ÿฌ ํŽ˜์ด์ง€ ์ง€์ •

 

  name ํŒŒ๋ฆฌ๋ฏธํ„ฐ ๊ฐ’ : 
 <%
    try{
 %>
   <%= request.getParameter("name").toUpperCase() %>
 <%
    }catch(Exception e ){
%>
      name ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
<%    	
    }
 %>

* 500 : ์ž๋ฐ”์—๋Ÿฌ

*    ์˜ˆ์™ธ ๋ฐœ์ƒํ•  ๋•Œ

      ์œ„์™€ ๊ฐ™์ด ์ผ๋ถ€๋งŒ try~catch ๋ฌธ์œผ๋กœ ์˜ˆ์™ธ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ด ์•„๋‹ˆ๋ผ.

      ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํŽ˜์ด์ง€( ์—๋Ÿฌ ํŽ˜์ด์ง€ )๋กœ ์ด๋™...!

      

     p 143 ์—๋Ÿฌ ํŽ˜์ด์ง€ ์ง€์ •ํ•˜๊ธฐ.     

         ex02_02.jsp

   ex02_02.jsp ํŽ˜์ด์ง€์—์„œ ๋งŒ์•ฝ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด

   errorPage ์†์„ฑ์— ์ง€์ •๋œ ํŽ˜์ด์ง€๋กœ ์ด๋™...ํ•œ๋‹ค.

   

   viewErrorMessage.jsp ํŒŒ์ผ์„ WEB-INF ํด๋”  > jsp ํด๋” ์œผ๋กœ ์ด๋™.

    ใ„ด์—๋ŸฌํŽ˜์ด์ง€๋ฅผ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ X

<%@ page  errorPage="/error/viewErrorMessage.jsp"%>
<%@ page  errorPage="/WEB-INF/jsp/viewErrorMessage.jsp"%>

   p155 Chapter 07 ํŽ˜์ด์ง€ ๋ชจ๋“ˆํ™”์™€ ์š”์ฒญ ํ๋ฆ„ ์ œ์–ด

        jsp: ์ ‘๋‘์‚ฌ == JSP ์•ก์…˜ํƒœ๊ทธ

   

      *** 1. jsp:include  ์•ก์…˜ํƒœ๊ทธ -> ๋ชจ๋“ˆํ™”

      *** 2. include        ์ง€์‹œ์ž   -> ๋ชจ๋“ˆํ™”

      

      3. jsp:forward ์•ก์…˜ํƒœ๊ทธ

      4. ๊ธฐ๋ณธ ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•œ ๊ฐ’ ์ „๋‹ฌ

      

    [ ํŽ˜์ด์ง€ ๋ชจ๋“ˆํ™” ]   

    ์›น ์‚ฌ์ดํŠธ์˜ ๋ชจ๋“  ํŽ˜์ด์ง€์˜ ๊ณตํ†ต๋ถ€๋ถ„           ->    ๋ชจ๋“ˆํ™” ( jsp )

    ( ์ƒ๋‹จ ๋ถ€๋ถ„, ์™ผ์ชฝ๋ฉ”๋‰ด๋ถ€๋ถ„, ํ•˜๋‹จ๋ถ€๋ถ„ )

     ์ฝ”๋“œ ์ค‘๋ณต ์ œ๊ฑฐ X, ์œ ์ง€ ๋ณด์ˆ˜ ์šฉ์ด

     

     jsp:include ์•ก์…˜ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ      ๋ชจ๋“ˆํ™”ํ•œ JSP ํŽ˜์ด์ง€๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค. 

 

     

p 156 ๊ทธ๋ฆผ &nbsp;&nbsp; 7.1 &nbsp; &nbsp;&nbsp; - ์ดํ•ด.

        ์ค‘์š”)  main.jsp

        ์ฒ˜๋ฆฌ A        

        ์ถœ๋ ฅ๋ฒ„ํผ (A+B+C)

             jsp:include  sub.jsp           -> ์š”์ฒญ ์ด๋™   sub.jsp  B

             ์ฒ˜๋ฆฌ C

* sub.jsp include ์•ก์…˜ํƒœ๊ทธ ์˜ํ•ด์„œ ์š”์ฒญ ํ๋ฆ„์ด sub.jsp ํฌ์›Œ๋”ฉ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ / ์ด์ „๊นŒ์ง€๋Š” ์ถœ๋ ฅ๋ฒ„ํผ์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ์ƒํƒœ 

* ์ถœ๋ ฅ๋ฒ„ํผ์— ๋ชจ๋“ˆ์ด ์ถ”๊ฐ€

* ์š”์ฒญํ๋ฆ„์ด ๋ฐ”๋€๋‹ค๋Š” ๊ฒƒ์ด ํฌ์ธํŠธ์ž„!

        

        ์˜ˆ) 

        1) ๊ณตํ†ต ๋ถ€๋ถ„์„ ๋ชจ๋“ˆํ™”  top.jsp, left.jsp, bottom.jsp     

              webapp/layout/                         top.jsp,  bottom.jsp  ๋ชจ๋“  ํŽ˜์ด์ง€์˜ ๊ณตํ†ต๋ถ€๋ถ„

              webapp/days05/layout/               left.jsp,  top.jsp  ๋ชจ๋“  ํŽ˜์ด์ง€์˜ ๊ณตํ†ต๋ถ€๋ถ„

              ex03_template.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
<%!
            // jsp:include   top.jsp  ์ธ์‹ํ•  ์ˆ˜ ์—†๋‹ค. 
            // ์™œ ? ์ฒ˜๋ฆฌ ๊ณผ์ •์ดํ•ด   ๊ทธ๋ฆผ7.1  ( p 156 )
           String id="admin";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2022. 12. 8. ์˜ค์ „ 11:53:14</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>ex03_template.jsp</h3>
<h3>ex03_template.jsp?msg=hello</h3>

<div style="text-align: center">
  <table width="600" border="1" align="center">
     <tr>
       <td colspan="3">
          <!-- top ๋ถ€๋ถ„ -->
          <jsp:include page="/layout/top.jsp" flush="false"></jsp:include>
       </td>
     </tr>
     <tr height="300">
       <td width="150" valign="top" style="background: yellow">
       <!-- left ๋ถ€๋ถ„ -->
       <jsp:include page="/days05/layout/left.jsp" flush="false"></jsp:include>
       </td>
       <td>
          <a href="ex03_memberAdd.jsp">ํšŒ์› ์ถ”๊ฐ€</a><br>
          ํšŒ์› ๊ด€๋ฆฌ Content ๋ถ€๋ถ„<br>
          ํšŒ์› ๊ด€๋ฆฌ Content ๋ถ€๋ถ„<br>
          ํšŒ์› ๊ด€๋ฆฌ Content ๋ถ€๋ถ„<br>
          ํšŒ์› ๊ด€๋ฆฌ Content ๋ถ€๋ถ„<br>
          ํšŒ์› ๊ด€๋ฆฌ Content ๋ถ€๋ถ„<br>
       </td>
       <td valign="top" style="background: red">
       <!--  right ๋ถ€๋ถ„ -->
       <jsp:include page="/days05/layout/right.jsp" flush="false"></jsp:include>
       </td>       
     </tr>
     <tr>
        <td colspan="3">
           <!-- bottom ๋ถ€๋ถ„ -->
           <!--
               ex03_template.jsp -> bottom.jsp ์š”์ฒญ ํ๋ฆ„
               ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ์ „๋‹ฌํ•˜๊ณ  ์‹ถ๋‹ค.  
            -->
           <jsp:include page="/layout/bottom.jsp" flush="false">
               <jsp:param value="hi~~~" name="msg"/>
           </jsp:include>
       </td>
     </tr>     
  </table>

*flush ์†์„ฑ : ์‘๋‹ต๋ฒ„ํผ์— ๋„ฃ๊ณ  ์ „์†ก์‹œํ‚ฌ๊ฑด์ง€? false

*top bottom (style css) -> main์—์„œ ์ฃผ๋ฉด๋จ, 

* js -> ์–ด๋””์žˆ์–ด๋„ ์ƒ๊ด€์—†์Œ

 

-left-

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
<ul>
  <li>๋กœ๊ทธ์ธ</li>
  <li>ํšŒ์›๊ด€๋ฆฌ</li>
  <li>์ผ์ •๊ด€๋ฆฌ</li>
  <li>๋„์›€๋ง</li>
</ul>

-right-

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
๊ด‘๊ณ 1<br>
๊ด‘๊ณ 2<br>
๊ด‘๊ณ 3<br>
๊ด‘๊ณ 4<br>

 

*template ์š”์ฒญํ• ๋•Œ ๋„˜๊ฒจ์ €์˜ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์„ bottom ์—์„œ ๋„์šฐ๊ณ  ์‹ถ์„๋•Œ (์ฟผ๋ฆฌ๋ฌธ์œผ๋กœ)

-> bottom.jsp ์— String msg = erquest.getParameter("msg")

 

* ๋งŒ์•ฝ ์š”์ฒญํ•˜๋Š”๋ฐ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ bottom์— ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ 

template์—์„œ jsp:param

<jsp:include page="/layout/bottom.jsp" flush="false">
 <jsp:param value="hi~~~" name="msg"/>

 

* mainํŽ˜์ด์ง€์— ์ „์—ญ๋ณ€์ˆ˜ ์„ ์–ธํ•ด๋„ ๋ณ„๊ฐœ์˜ ์š”์ฒญํ๋ฆ„์œผ๋กœ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— bottom์—์„œ ์ธ์‹ํ•˜์ง€ ๋ชปํ•จ -> param์œผ๋กœ ๋„˜๊ฒจ์ค˜์•ผํ•จ!


   p 168 [ include ์ง€์‹œ์ž๋ฅผ ์ด์šฉํ•œ ์ค‘๋ณต๋œ ์ฝ”๋“œ ์‚ฝ์ž…]

   %@ page

   %@ taglib

   %@ include

      // [WEB-INF/inc/include.jspf ]
      // ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์— ์ค‘๋ณต๋œ ์•„๋ž˜ ์ฝ”๋”ฉ์ด ์ถ”๊ฐ€..           %@ include ์ง€์‹œ์ž .. ์‚ฌ์šฉ.
      request.setCharacterEncoding("UTF-8");
      String contextPath = request.getContextPath();

-> WEB-INF/inc ํด๋” ๋งŒ๋“ค์–ด์„œ ์—ฌ๊ธฐ ๋„ฃ์Œ (์™ธ๋ถ€ ์ ‘๊ทผ ๋ถˆ๊ฐ€ํ•˜๋„๋ก)

   -include.jspf-

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
<%
      // [WEB-INF/inc/include.jspf ]
      // ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์— ์ค‘๋ณต๋œ ์•„๋ž˜ ์ฝ”๋”ฉ์ด ์ถ”๊ฐ€..           %@ include ์ง€์‹œ์ž .. ์‚ฌ์šฉ.
      request.setCharacterEncoding("UTF-8");
      String contextPath = request.getContextPath();
      
      String name ="admin";
%>

-jsp-

<%@ include file="/WEB-INF/inc/include.jspf" %>

 

    [์งˆ๋ฌธ] ๊ฐ•์‚ฌ๋‹˜ ๋‹จ์ˆœํžˆ ์ค‘๋ณต์˜ ๋ฌธ์ œ๋ฉด ํ…œํ”Œ๋ฆฟ์— ์‚ฌ์šฉํ•ด๋„ ๋˜์ง€์•Š๋‚˜์š”?

        include ์ง€์‹œ์ž           - bottom.jsp ๊ณตํ†ต ๋ชจ๋“ˆํ™” ์ถ”๊ฐ€, ๊ณตํ†ต ์ค‘๋ณต ์ฝ”๋”ฉ

        jsp:include ์•ก์…˜ํƒœ๊ทธ  - bottom.jsp ๊ณตํ†ต ๋ชจ๋“ˆํ™” ์ถ”๊ฐ€, ๊ณตํ†ต ์ค‘๋ณต ์ฝ”๋”ฉ

        

        [ ์ฒ˜๋ฆฌ ๊ณผ์ • ์ฐจ์ด์  ์ดํ•ด ]

        p 169   include ์ง€์‹œ์ž ์ฒ˜๋ฆฌ ๊ณผ์ •   [๊ทธ๋ฆผ 7.11]

        include ์ง€์‹œ์ž           - ๊ณตํ†ต์ฝ”๋”ฉ์ด ์ปดํŒŒ์ผ๋˜์–ด์งˆ๋•Œ ํฌํ•จ๋˜๋Š” ์‹ (์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด ํ•˜๋‚˜)

        jsp:include ์•ก์…˜ํƒœ๊ทธ  - ์‘๋‹ต๋ฒ„ํผ ๋‹ด๊ณ  ์ƒˆ๋กœ์šด์š”์ฒญ ์ผ์–ด๋‚œ ํ›„ ๋‹ค์‹œ ์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด๊ฐ€ ์‘๋‹ต (์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด ๋‘๊ฐœ , ํ๋ฆ„ ๋‹ฌ๋ผ์ง)


    p 173   ์ฝ”๋“œ ์กฐ๊ฐ ์ž๋™ ํฌํ•จ ๊ธฐ๋Šฅ

    1) ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜ ์ง€์ •

    @ include file="/common/variable.jspf"

    

    2) ์ €์ž‘๊ถŒ - ๊ฐ„๋‹จํ•œ ๋ฌธ์žฅ.

    @ include file="/common/footer.jspf"

    

    ๋ชจ๋“  ํŽ˜์ด์ง€์— ์œ„์˜ ์ฝ”๋”ฉ์„ ํ•  ํ•„์š”์—†์ด   web.xml

    <jsp-config>

      <jsp-property-group>

        <url-pattern>/days05/*</url-pattern>

        <include-prelude>/common/variable.jspf</include-prelude>

        <include-coda>/common/footer.jspf</include-coda>

      </jsp-property-group>

    </jsp-config>    

    

    

    p 177   include ์•ก์…˜ํƒœ๊ทธ์™€ include ์ง€์‹œ์ž์˜ ์ฐจ์ด์  (๋น„๊ต )

    p 177 jsp:forwrd ์•ก์…˜ํƒœ๊ทธ X


   p 190 Chapter 08   ์ž๋ฐ”๋นˆ๊ณผ jsp:useBean ์•ก์…˜ํƒœ๊ทธ 

   

   1. ์ž๋ฐ”๋นˆ(bean) == ์ž๋นˆ์ฆˆ(javabeans) ?

       JSP ๊ธฐ๋ฐ˜ +      ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ

       [์ •๋ณด]๋ฅผ ํ‘œํ˜„(์ €์žฅ)ํ•˜๋Š” [๊ฐ์ฒด]               ==    DTO(์ •๋ณด๊ฐ€์ง€๊ณ ์ „๋‹ฌ)  == VO(์ •๋ณด)

       

       Spring  ๊ธฐ๋ฐ˜  POJO

   

   2.     ์ž๋ฐ”๋นˆ(bean) ๊ทœ์•ฝ                    /   ์„œ๋ธ”๋ฆฟ ๊ทœ์•ฝ   p,hs, doget,dopost,service ์˜ค๋ฒ„๋ผ์ด๋”ฉ.

         1) private ํ•„๋“œ ์„ ์–ธ

         2) getter, setter ์„ ์–ธ

         3) ์ง๋ ฌํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค ์„ ์–ธ

*์ง๋ ฌํ™” : 

         

   3. ์ž๋ฐ”๋นˆ์€ ์†์„ฑ, ๋ณ€๊ฒฝ ์ด๋ฒคํŠธ, ๊ฐ์ฒด ์ง๋ ฌํ™”๋ฅผ ์œ„ํ•œ ํ‘œ์ค€์ด๋‹ค. 

   

   ์˜ˆ)  days05.MemberInfo.java  ์ž๋ฐ”๋นˆ ์„ ์–ธ      

package days05;

import java.io.Serializable;
import java.util.Date;

// JSP ๊ธฐ๋ฐ˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํšŒ์›์ •๋ณด๋ฅผ ์ €์žฅํ•  ๊ฐ์ฒด - ์ž๋ฐ”๋นˆ ์„ ์–ธ  
public class MemberInfo implements Serializable{

	private static final long serialVersionUID = 2490129593045133574L;
	
	// ํ•„๋“œ private
	private String id;
	private String passwd;
	private String name;
	private Date registerDate;
	private String email;

	// getter, setter
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPasswd() {
		return passwd;
	}
	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getRegisterDate() {
		return registerDate;
	}
	public void setRegisterDate(Date registerDate) {
		this.registerDate = registerDate;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
} //  class

          ex04_02.jsp ์ถ”๊ฐ€.

<form action="ex04_05.jsp" method="get">

  <table border="1" style="width:400px">
     <tr>
        <td>์•„์ด๋””</td>
        <td><input type="text"  name="id" value="admin"></td>
     </tr>
     <tr>
        <td>์ด๋ฆ„</td>
        <td><input type="text"  name="name"  value="๊ด€๋ฆฌ์ž"></td>
     </tr>
     <tr>
        <td>๋น„๋ฐ€๋ฒˆํ˜ธ</td>
        <td><input type="password"  name="passwd" value="1234"></td>
     </tr>
     <tr>
        <td>์ด๋ฉ”์ผ</td>
        <td><input type="text"  name="email" value="admin@naver.com"></td>
     </tr>
     <tr>
        <td colspan="2">
           <input type="submit">
           <input type="reset">
        </td>
     </tr>
  </table>
</form>

 

 

03.jsp

<%@page import="days05.MemberInfo"%>
<%@page import="java.util.Date"%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 
http://localhost/jspPro/days05/ex04_03.jsp
?
	id=admin
	&
	name=%EA%B4%80%EB%A6%AC%EC%9E%90
	&
	passwd=1234
	&
	email=admin%40naver.com
 -->
<%
   String id = request.getParameter("id");
   String name = request.getParameter("name");
   String passwd = request.getParameter("passwd");
   String email = request.getParameter("email");
   
   Date registerDate = new Date(); // ์˜ค๋Š˜๋‚ ์งœ๋ฅผ ๊ฐ€์ž…์ผ๋กœ ์„ค์ •.
   
   
   // ์ž๋ฐ”๋นˆ( = JSP ์ •๋ณด ์ €์žฅํ•˜๋Š” ๊ฐ์ฒด ) ์ƒ์„ฑ
   MemberInfo mi = new MemberInfo();
   mi.setId(id);
   mi.setName(name);
   mi.setPasswd(passwd);
   mi.setRegisterDate(registerDate);
   mi.setEmail(email);
   
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2022. 12. 8. ์˜คํ›„ 2:21:05</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>ex04_03.jsp - MemberInfo ์ •๋ณด ์ถœ๋ ฅ </h3>
์•„์ด๋”” : <%= mi.getId() %><br>
์ด๋ฆ„ :  <%= mi.getName() %><br>
๋น„๋ฐ€๋ฒˆํ˜ธ : <%= mi.getPasswd() %><br>
๋“ฑ๋ก์ผ : <%= mi.getRegisterDate() %><br>
์ด๋ฉ”์ผ : <%= mi.getEmail() %><br>

04.jsp

<%@page import="days05.MemberInfo"%>
<%@page import="java.util.Date"%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
<%
   String id = request.getParameter("id");
   String name = request.getParameter("name");
   String passwd = request.getParameter("passwd");
   String email = request.getParameter("email");
   
   Date registerDate = new Date(); // ์˜ค๋Š˜๋‚ ์งœ๋ฅผ ๊ฐ€์ž…์ผ๋กœ ์„ค์ •.
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2022. 12. 8. ์˜คํ›„ 2:28:17</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>ex04_04.jsp - MemberInfo ์ •๋ณด ์ถœ๋ ฅ </h3>

<pre>
 // ์ž๋ฐ”๋นˆ( = JSP ์ •๋ณด ์ €์žฅํ•˜๋Š” ๊ฐ์ฒด ) ์ƒ์„ฑ
   										MemberInfo mi = new MemberInfo();
   										mi.setId(id);
   mi.setName(name);
   mi.setPasswd(passwd);
   mi.setRegisterDate(registerDate);
   mi.setEmail(email);
   
   ์œ„์˜ ์ฝ”๋”ฉ์„ jsp:useBean ์•ก์…˜ ํƒœ๊ทธ๋กœ ์ˆ˜์ •.....
</pre>

<jsp:useBean id="mi" class="days05.MemberInfo"></jsp:useBean>
<!-- Spring  -->
<jsp:setProperty property="id" name="mi" value="<%= id %>"/>
<jsp:setProperty property="name" name="mi" value="<%= name %>"/>
<jsp:setProperty property="passwd" name="mi" value="<%= passwd %>"/>
<jsp:setProperty property="registerDate" name="mi" value="<%= registerDate %>"/>
<jsp:setProperty property="email" name="mi" value="<%= email %>"/>
   
    

์•„์ด๋”” : <%= mi.getId() %><br>
์ด๋ฆ„ :  <%= mi.getName() %><br>
๋น„๋ฐ€๋ฒˆํ˜ธ : <%= mi.getPasswd() %><br>
๋“ฑ๋ก์ผ : <%= mi.getRegisterDate() %><br>
์ด๋ฉ”์ผ : <%= mi.getEmail() %><br>

05.jsp

<%@page import="days05.MemberInfo"%>
<%@page import="java.util.Date"%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>
<%
   Date registerDate = new Date(); // ์˜ค๋Š˜๋‚ ์งœ๋ฅผ ๊ฐ€์ž…์ผ๋กœ ์„ค์ •.
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2022. 12. 8. ์˜คํ›„ 2:28:17</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>ex04_05.jsp - MemberInfo ์ •๋ณด ์ถœ๋ ฅ </h3>

<pre>
    1. ํ•„๋“œ๋ช… ==  name ์†์„ฑ ( ์กฐ๊ฑด )
    
    
    2. ์Šต๊ด€์ ์œผ๋กœ.. 
     ใ„ฑ. 
    scott.dept  / deptno, dname, loc
      ใ„ด. 
    DeptDTO
       private int deptno;
       setter, geter
       ใ„ท. 
    ์ž…๋ ฅํผ
          ์ž…๋ ฅํƒœ๊ทธ   name ="deptno"   
</pre>

<jsp:useBean id="mi" class="days05.MemberInfo"></jsp:useBean>
<jsp:setProperty property="*" name="mi"/>
<jsp:setProperty property="registerDate" name="mi" value="<%= registerDate %>"/>

   
    

์•„์ด๋”” : <%= mi.getId() %><br>
์ด๋ฆ„ :  <%= mi.getName() %><br>
๋น„๋ฐ€๋ฒˆํ˜ธ : <%= mi.getPasswd() %><br>
๋“ฑ๋ก์ผ : <%= mi.getRegisterDate() %><br>
์ด๋ฉ”์ผ : <%= mi.getEmail() %><br>

    [ ๊ผญ ์ง€ํ‚ฌ ๊ฒƒ ]

    ์ž๋ฐ”๋นˆ์˜ ํ•„๋“œ๋ช…๊ณผ ๋ฐ˜๋“œ์‹œ ๋™์ผํ•œ name ์†์„ฑ์„ ์„ค์ •ํ•œ๋‹ค. 

->ํŽธ๋ฆฌํ•œ์  : ์ด๋ฆ„ ๋˜‘๊ฐ™๊ธฐ ๋–„๋ฌธ์— ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ›์„ ํ•„์š”์—†์Œ (05์—์„œ ์ฒ˜๋Ÿผ ํ•œ๋ฒˆ์— ๋ฐ›์•„์˜ฌ์ˆ˜์žˆ๋‹ค) - register date ๋นผ๊ณ 

 

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