• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ
    • Spring
    • Thymeleaf
    • ๊ธฐ์ˆ ๋ฉด์ ‘
  • Projects

JSP - JSP 2.3 & Servlet3.1 - response, pageContext,session, application, ์•ก์…˜

23 Mar 2021

๐Ÿ”ท JSP 2.3 & Servlet3.1 - response, pageContext,session, application, ์•ก์…˜

โœ” respones ๊ฐ์ฒด

- ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ HTTP ์‘๋‹ต์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด

๐Ÿ’ก response ๊ฐ์ฒด์˜ ์ฃผ์š” ๋ฉ”์†Œ๋“œ๋“ค resp

๐Ÿ–‹ response ์˜ˆ์ œ)

  • ํ™”๋ฉด์ƒ์„ฑ ๋ฐ ์•ก์…˜ ์—ฐ๊ฒฐ ์ฝ”๋“œ
      <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <!DOCTYPE html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8">
      <title>response ๊ฐ์ฒด</title>
      </head>
      <body>
      JSP ํ™˜๊ฒฝ ์„ค์ •์„ ์œ„ํ•œ ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€ ์ž…๋‹ˆ๋‹ค.
      /* response2์•ก์…˜ ์ƒ์šฉ, get๋ฐฉ์‹ ์ด์šฉ */
      <form action="response2.jsp" method="get">
      /* select ์ด๋ฆ„ : downLoad */
      <select name="download">
          <%-- selectํ˜•์‹ ์˜ต์…˜ ์‚ฌ์šฉ */
          <option selected value="1">JDK</option>
          <option value="2">Tomcat</option>
          <option value="3">eclipes</option>
          <option vlaue="4">oracle</option>
      </select>
      /* submit ํƒ€์ž… ๋ฒ„ํŠผ ์ƒ์„ฑ, ๋ฒ„ํŠผ ์ด๋ฆ„ : ์ด๋™ */
      <input type="submit" value="์ด๋™">
      </form>
      </body>
      </html>
    

    โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ resp1

  • ์•ก์…˜ ์ฝ”๋“œ
      <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <!DOCTYPE html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8">
      <title>response ๊ฐ์ฒด </title>
      </head>
      <body>
      <%
      /* // Stringํƒ€์ž… ๋ณ€์ˆ˜ strsite ์„ ์–ธํ›„ download ํŒŒ๋ผ๋ฏธํ„ฐ ๋Œ€์ž… */
      String strSite=request.getParameter("download");
    
      switch(strSite)
      /* 1 ์„ ํƒ์‹œ  http://java.sun.com ๋กœ ์ด๋™
      response.sendRedirect ์™€ ๋™์ผํ•˜๋‹ค */
      { case "1" : 
          out.print("<script>" +"location.href='http://java.sun.com'"+	
                  "</script>" );
          break;
          /*  2์„ ํƒ์‹œ ๋ฐ”๋กœ "http://tomcat.apache.org" ํŽ˜์ด์ง€๋กœ ์ด๋™ */
      case "2" :
          response.sendRedirect("http://tomcat.apache.org");
          break;
          /*  3์„ ํƒ์‹œ ๋ฐ”๋กœ "http://www.eclipse.org" ํŽ˜์ด์ง€๋กœ ์ด๋™ */
      case "3":
          response.sendRedirect("http://www.eclipse.org");
          break;
          /*  ๊ธฐ๋ณธ "http://www.oracle.com" ํŽ˜์ด์ง€๋กœ ์ด๋™ */
      default:
          response.sendRedirect("http://www.oracle.com");
          break;
      }
      %>
      </body>
      </html>
    

    โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ (JDK ์„ ํƒ์‹œ) resp1-1

โœ” pageContext ๊ฐ์ฒด

- ๋‹ค๋ฅธ ๋‚ด์žฅ ๊ฐ์ฒด๋ฅผ ์–ป์–ด๋‚ด๊ฑฐ๋‚˜ ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ์š”์ฒญ,์‘๋‹ต์˜ ์ œ์–ด๊ถŒ์„ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฐ์ฒด
- ๋‚ด์žฅ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ œ์–ดํ•œ๋‹ค

๐Ÿ’ก pageContext ๊ฐ์ฒด์˜ ์ฃผ์š” ๋ฉ”์†Œ๋“œ๋“ค pagecontext

๐Ÿ–‹ pageContext ์˜ˆ์ œ)

  • getOut ํ™œ์šฉ
      <%@ page language="java" contentType="text/html; charset=UTF-8" %>
      <!DOCTYPE HTML>
      <HTML lang="ko">
      <HEAD>
      <TITLE> pageContext ๊ฐ์ฒด </TITLE>
      </HEAD>
      <BODY>
    
      <% 
      // out. / getOut() : ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™๋‹ค
      out.println("ํšŒ์›๋‹˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.<BR>");
      pageContext.getOut().print("๋งˆ์ผ๋ฆฌ์ง€๋ฅผ ๋“œ๋ฆฝ๋‹ˆ๋‹ค<br>");
      pageContext.getOut().println("๋งˆ์ผ๋ฆฌ์ง€ 100์ ์ด ์ง€๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.<BR>");
      out.println("์ €ํฌ ์‚ฌ์ดํŠธ๋ฅผ ์• ์šฉํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.");
      %>
    
      </BODY>
      </HTML>
    

    โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ pagecontext1

  • include,flush ํ™œ์šฉ
      <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <!DOCTYPE html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8">
      <title>pageContext ๊ฐ์ฒด</title>
      </head>
      <body>
      <%
      out.print("ํšŒ์›๋‹˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.<br>");
      out.flush(); // ์ถœ๋ ฅ๋ฒ„ํผ ๋‚ด์šฉ์„ ๋น„์šด๋‹ค
    
      // include : ์ž„์‹œ์ ์œผ๋กœ ์ง€์ •๋œ ํŽ˜์ด์ง€๋กœ ์ œ์–ด๊ถŒ์„ ๋„˜๊ธด๋‹ค, ์ œ์–ด์ฒ˜๋ฆฌ๊ฐ€ ๊ธ‘๋‚˜๋ฉด ์›๋ž˜ ํŽ˜์ด์ง€๋กœ ์ œ์–ด๊ถŒ์ด ๋„˜์–ด์˜จ๋‹ค
      pageContext.include("pageContext3.jsp");
      out.println("์ €ํฌ ์‚ฌ์ดํŠธ๋ฅผ ์• ์šฉํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.");
    
      %>
    
      </body>
      </html>
    
  • pageContext3 ์ฝ”๋“œ
      <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <!DOCTYPE html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8">
      <title>pageContext ๊ฐ์ฒด</title>
      </head>
      <body>
      <% 
      out.println("๋งˆ์ผ๋ฆฌ์ง€ 100์ ์„ ์ง€๊ธ‰ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.(pageContext3)<BR>");
      out.flush();
      %>
      </body>
      </html>
    

    โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ pagecontext2

  • setAttribute, getAttribute ์‚ฌ์šฉ (null ์•„๋‹๊ฒฝ์šฐ)
      <%@ page language="java" contentType="text/html; charset=UTF-8" %>
      <!DOCTYPE HTML>
      <HTML lang="ko">
      <HEAD>
      <TITLE> pageContext ๊ฐ์ฒด </TITLE>
      </HEAD>
      <BODY>
    
      <%
      // setAttribute(String name, Object value) : ์ด๋ฆ„์ด name์ธ ์†์„ฑ์˜ ๊ฐ’์„ value๋กœ ์ง€์ •ํ•œ๋‹ค
      // setAttribute("pageValue","pageContext Example") : ์ด๋ฆ„์ด pageValue์ธ ์†์„ฑ์˜ ๊ฐ’์„ pageContext Example๋กœ ์ง€์ •ํ•œ๋‹ค
      pageContext.setAttribute("pageValue","pageContext Example");
      Object code=pageContext.getAttribute("pageValue");
    
      // code๊ฐ€null์ด ์•„๋‹ˆ๋ผ๋ฉด
      if (code != null){
              /*์ฝ์–ด๋“œ๋ฆฐ ์†์„ฑ์€ object์ด๋ฏ€๋กœ ํ˜•๋ณ€ํ™˜์„ ํ•ด์•ผํ•œ๋‹ค : (String)code : ๋ฌธ์ž์—ด๋กœ ํ˜•๋ณ€ํ™˜  */
              // code๋ฅผ String์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•˜์—ฌ ๋ฌธ์ž์—ด๋ณ€์„œ strValue์— ์ €์žฅํ•œ๋‹ค
              String strValue=(String)code;
              // strValue๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค
              out.println("page Value=" + strValue + "<BR>");
      }
      else{ // null ์ด๋ผ๋ฉด
              // ์ถœ๋ ฅํ•œ๋‹ค
              out.println("Not found!!");
      }
      %>
    
      </BODY>
      </HTML>
    

โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ pagecontext3

  • setAttribute, getAttribute ์‚ฌ์šฉ (null ์ผ๊ฒฝ์šฐ)
      <%@ page language="java" contentType="text/html; charset=UTF-8" %>
      <!DOCTYPE HTML>
      <HTML lang="ko">
      <HEAD>
      <TITLE> pageContext ๊ฐ์ฒด </TITLE>
      </HEAD>
      <BODY>
    
      <%
      // setAttribute(String name, Object value) : ์ด๋ฆ„์ด name์ธ ์†์„ฑ์˜ ๊ฐ’์„ value๋กœ ์ง€์ •ํ•œ๋‹ค
      // setAttribute("pageValue","pageContext Example") : ์ด๋ฆ„์ด pageValue์ธ ์†์„ฑ์˜ ๊ฐ’์„ pageContext Example๋กœ ์ง€์ •ํ•œ๋‹ค
      pageContext.setAttribute("pageValue",null);
      Object code=pageContext.getAttribute("pageValue");
    
      // code๊ฐ€null์ด ์•„๋‹ˆ๋ผ๋ฉด
      if (code != null){
              /*์ฝ์–ด๋“œ๋ฆฐ ์†์„ฑ์€ object์ด๋ฏ€๋กœ ํ˜•๋ณ€ํ™˜์„ ํ•ด์•ผํ•œ๋‹ค : (String)code : ๋ฌธ์ž์—ด๋กœ ํ˜•๋ณ€ํ™˜  */
              // code๋ฅผ String์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•˜์—ฌ ๋ฌธ์ž์—ด๋ณ€์„œ strValue์— ์ €์žฅํ•œ๋‹ค
              String strValue=(String)code;
              // strValue๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค
              out.println("page Value=" + strValue + "<BR>");
      }
      else{ // null ์ด๋ผ๋ฉด
              // ์ถœ๋ ฅํ•œ๋‹ค
              out.println("Not found!!");
      }
      %>
    
      </BODY>
      </HTML>
    

    โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ pagecontext3-1

โœ” session ๊ฐ์ฒด

- ์„œ๋ฒ„์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ๋„ ๊ฐ€์ƒ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์˜ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ํ•˜๋Š” ๊ฐ์ฒด

๐Ÿ’ก session ๊ฐ์ฒด์˜ ์ฃผ์š” ๋ฉ”์†Œ๋“œ๋“ค session

๐Ÿ–‹ session ์˜ˆ์ œ)

  • ์„ธ์…˜ ๋ชจ์–‘ ์ฝ”๋“œ
      <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <!DOCTYPE html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8">
      <title>session ๊ฐ์ฒด</title>
      </head>
      <body>
      // session.invalidate() : ์„ธ์…˜ ์ดˆ๊ธฐํ™” 
      <% session.invalidate(); %>
      // session2์˜ ์•ก์…˜ ์‚ฌ์šฉ, post ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ 
      <FORM action="session2.jsp" Method="post">
    
      ์•„์ด๋””   : <input type="text" name="strId"> <BR>
      ๋น„๋ฐ€๋ฒˆํ˜ธ : <input type="password" name="strPwd"> <BR><BR>
    
      <input type="submit" Value="๋กœ๊ทธ์ธ">
      <input type="reset" Value="์ทจ์†Œ">
      </Form>
      </body>
      </html>
    
  • ์„ธ์…˜ ์„ค์ •์ฝ”๋“œ
      <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <!DOCTYPE html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8">
      <title>session ๊ฐ์ฒด</title>
      </head>
      <body>
      <%
      // ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ Id ์„ ์–ธํ›„ strID๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค
      String Id = request.getParameter("strId");
      // ์„ธ์…˜์— ์ €์žฅ๋œ ์ž๋ฃŒ๋Š” ๋‹ค์‹œ getAttribute()๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ์กฐํšŒํ•œ๋‹ค
      // ์„ธ์…˜์— ์ €์žฅ๋œ id๋ฅผ ์กฐํšŒํ•ด์„œ ๊ทธ ๊ฐ’์ด null์ด๋ผ๋ฉด
      if (session.getAttribute("sessId") == null){
          // ์„ธ์…˜์˜ id๋ฅผ ์œ„์—์„œ ์ „๋‹ฌ๋ฐ›์€ ์ธ์ž๊ฐ’ : ๋ณ€์ˆ˜Id ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ๋‹ค
          session.setAttribute("sessId", Id);
      }
      //์„ธ์…˜ ์œ ์ง€์‹œ๊ฐ„์€ 5์ดˆ๋กœ ์„ค์ •
      session.setMaxInactiveInterval(5);
    
      // ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ sessId์„ ์–ธํ›„ ์„ธ์…˜์—์„œ ๋ฐ›์€ sessId๊ฐ’์„ ๋ฌธ์žํ˜•์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•˜์—ฌ ํ• ๋‹นํ•œ๋‹ค
      String sessId=(String)session.getAttribute("sessId");
    
      // ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ strSessionId ์„ ์–ธํ›„ ์„ธ์…˜์—์„œ ์–ป์€ Id๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค
      String strSessionId = session.getId();
      // ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ intTime์„ ์–ธ ํ›„ ์„ธ์…˜์œ ์ง€์‹œ๊ฐ„์„ ํ• ๋‹นํ•œ๋‹ค
      int intTime=session.getMaxInactiveInterval();
      %>
      // sessId๊ฐ’ ์ถœ๋ ฅ 
      <B> <%=sessId %> ๋‹˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. </B> <P> 
      ์„ธ์…˜ ID : <%=strSessionId %> <BR>
      ์„ธ์…˜ ์‹œ๊ฐ„ : <%=intTime %>
    
      </body>
      </html>
    

    โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ session1

โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ session1-1

  • ์„ธ์…˜ ์‹œ๊ฐ„ ์ถœ๋ ฅ
      <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
      <!-- text ๊ฐ์ฒด import -->
      <%@ page import="java.text.*" %>
      <!-- SimpleDateFormat ๊ฐ์ฒด ์ƒ์„ฑ -->
      <%
          SimpleDateFormat f = new SimpleDateFormat("yyyy-M-d hh:mm:ss");
      %>
      <!DOCTYPE html>
      <html lang="ko">
      <head>
      <meta charset="UTF-8">
      <title>session ๊ฐ์ฒด</title>
      </head>
      <body>
    
      <%
      /* longํƒ€์ž… lastTime ๋ณ€์ˆ˜ ์ƒ์„ฑ, ์„ธ์…˜์—์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ ‘์†ํ•œ ์‹œ๊ฐ„ ํ• ๋‹น  */
      long lastTime=session.getLastAccessedTime();
      /* longํƒ€์ž… createTime ๋ณ€์ˆ˜ ์ƒ์„ฑ, ์„ธ์…˜ ์ƒ์„ฑ์‹œ๊ฐ„ ํ• ๋‹น */
      long createTime=session.getCreationTime();
      /* longํƒ€์ž… useTime ๋ณ€์ˆ˜ ์ƒ์„ฑ, (์„ธ์…˜ ๋งˆ์ง€๋ง‰ ์ ‘์†์‹œ๊ฐ„ - ์„ธ์…˜์ƒ์„ฑ์‹œ๊ฐ„) / 1000 ๊ฐ’ ํ• ๋‹น  */
      long useTime=(lastTime - createTime) / 1000;
      %>
      <!-- ๋งจ ์œ„ ์ž‘์„ฑํ•œ ํ˜•์‹์œผ๋กœ lastTime,createTime ๊ฐ’  ์ถœ๋ ฅ  -->
      <%=f.format(lastTime) %><br>
      <%=f.format(createTime) %><br>
      <!-- useTime ๋ณ€์ˆ˜ ๊ฐ’ ์ถœ๋ ฅ -->
      <%=useTime %>์ดˆ ๋™์•ˆ ์‚ฌ์ดํŠธ์— ์ ‘์†๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
      </body>
      </html>
    

โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ session1-2

โœ” application ๊ฐ์ฒด

- ํ•ด๋‹น ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์™€ ์„œ๋ฒ„ ์ธก ์ž์›์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์†Œ๋“œ

๐Ÿ’ก application ๊ฐ์ฒด์˜ ์ฃผ์š” ๋ฉ”์†Œ๋“œ๋“ค application

๐Ÿ–‹ application ์˜ˆ์ œ)

  • application ์ •๋ณด์ถœ๋ ฅ
      <%@ page language="java" contentType="text/html; charset=UTF-8" %>
      <!DOCTYPE HTML>
      <HTML lang="ko">
      <HEAD>
      <TITLE> application ๊ฐ์ฒด </TITLE>
      </HEAD>
      <BODY>
    
      <TABLE border=1>
      <TR>
          <TD><B> Server Information </B></TD>
              <TD><B> ๊ฐ’ </B></TD>
      </TR>
    
      <% 
                                              // getServletInfo() : JSP / ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์˜ ์ด๋ฆ„๊ณผ ๋ฒ„์ „ ๋ฐ˜ํ™˜
      out.println ("<TR><TD>์„œ๋ฒ„์ •๋ณด</TD><TD>" + application.getServerInfo() + "</TD></TR>");
                                              //  getMimeType(ํŒŒ์ผ๋ช…) : ํŒŒ์ผ์˜ MIME ํƒ€์ž… ๋ฐ˜ํ™˜
      out.println ("<TR><TD>MIME ํƒ€์ž…</TD><TD>" + application.getMimeType("application_1.jsp") + "</TD></TR>");
                                              // getResource(path) : path์— ์ง€์ •๋œ ์ž์›์„ url ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜
      out.println ("<TR><TD>URL ์ •๋ณด</TD><TD>" + application.getResource("/") + "</TD></TR>");
                                              // getRealPath(path) : ์ง€์ •ํ•œ ๊ฒฝ๋กœ๋ฅผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์Šคํ…œ์ƒ์˜ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐ˜ํ™˜
      out.println ("<TR><TD>๋กœ์ปฌ๊ฒฝ๋กœ</TD><TD>" + application.getRealPath("/") + "</TD></TR>");
                                              // getContext(path) : path์— ์ง€์ •๋œ ์ž์›์˜ context์ •๋ณด(์ƒํ™ฉ) ๋ฐ˜ํ™˜
      out.println ("<TR><TD>์ปจํ…์ŠคํŠธ์ •๋ณด</TD><TD>" + application.getContext("/") + "</TD></TR>");
      %>
      </TABLE>
      application.log("log message"); // ๋กœ๊ทธ ๊ธฐ๋ก
      </BODY>
      </HTML>
    

โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ application1

  • application set,get Attribute
      <%@ page language="java" contentType="text/html; charset=UTF-8" %>
      <!DOCTYPE HTML>
      <HTML lang="ko">
      <HEAD>
      <TITLE> application ๊ฐ์ฒด  </TITLE>
      </HEAD>
      <BODY>
      <%-- ์„œ๋ฒ„ ์œ ์ง€ ๋˜์–ด์žˆ์œผ๋ฉด ์ •๋ณด๊ฐ€ ์œ ์ง€๋œ๋‹ค --%>
      <%
      // setAttribute(name,value) : name์˜ ์†์„ฑ๊ฐ’์„ value๋กœ ์ €์žฅ
      // Name ์˜ ์†์„ฑ๊ฐ’์„ ํ™๊ธธ๋™์œผ๋กœ ์ €์žฅ
      application.setAttribute("Name", "ํ™๊ธธ๋™");
      application.setAttribute("Age", "20์„ธ");
      application.setAttribute("Email", "abcd@abcd.com");
      application.setAttribute("Job", "Programmer");
      application.setAttribute("Hobby", "๋…์„œ");
      // removeAttribute(name) : name ์†์„ฑ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค.
      application.removeAttribute("Job");
      %>
    
      <!--  getAttributeNames() : ํ˜„์žฌ application ๊ฐ์ฒด์— ์ €์žฅ๋œ ์†์„ฑ๋“ค์˜ ์ด๋ฆ„์„ ์—ด๊ฑฐํ˜•์‹์œผ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.-->
      ์ด ๋ฆ„  : <%=application.getAttribute("Name") %> <BR>
      ๋‚˜ ์ด  : <%=application.getAttribute("Age") %> <BR>
      ์ด๋ฉ”์ผ : <%=application.getAttribute("Email") %> <BR>
      ์ง ์—…  : <%=application.getAttribute("Job") %> <BR>
      ์ทจ ๋ฏธ  : <%=application.getAttribute("Hobby") %>
    
      </BODY>
      </HTML>
    

    โ–ถ ์ถœ๋ ฅ๊ฒฐ๊ณผ application2

โœ” ์˜์—ญ ๊ฐ์ฒด(Scope) ์™€ ์†์„ฑ(Attribute)

- ๋‚ด์žฅ ๊ฐ์ฒด๋“ค ์ค‘ session, request, application ๊ฐ์ฒด๋“ค์€ ํ•ด๋‹น ๊ฐ์ฒด์— ์ •์˜๋œ ๋ฒ”์œ„ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ ๊ณต์œ ๊ฐ€๋Šฅ
- ๊ณต์œ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์†์„ฑ(Attribute)์ด๋ผ๊ณ  ํ•˜๊ณ 
- ์†์„ฑ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ๋ฒ”์œ„๋ฅผ ์˜์—ญ(Scope)๋ผ๊ณ  ํ•œ๋‹ค
- request ๊ฐ์ฒด โ€“ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๋™์•ˆ ์†์„ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
- session ๊ฐ์ฒด โ€“ ์„ธ์…˜์ด ์œ ์ง€๋˜๊ณ  ์žˆ๋Š” ๋ฒ”์œ„ ์•ˆ์—์„œ ์†์„ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
- application ๊ฐ์ฒด โ€“ ํ•ด๋‹น ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋™์•ˆ ์†์„ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
- page ์˜์—ญ ๊ฐ์ฒด - ์˜ค์ง ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€ ๋‚ด์—์„œ๋งŒ ์†์„ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
- page ๋‚ด์žฅ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ pageContext ๋‚ด์žฅ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์˜์—ญ

๐Ÿ’ก ์˜์—ญ ์˜์—ญ

โœ” ์•ก์…˜ํƒœ๊ทธ

- JSPํŽ˜์ด์ง€์—์„œ HTML ํƒœ๊ทธ ํ˜•ํƒœ๋กœ ๋‹ค๋ฅธ ํŽ˜์ด์ง€์˜ ์„œ๋ธ”๋ฆฟ์ด๋‚˜ ์ž๋ฐ”๋นˆ์˜ ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ
โ˜ž JSP ์—์„œ ์ œ๊ณตํ•˜๋Š” ์•ก์…˜ ํƒœ๊ทธ ์ข…๋ฅ˜
   1. ํŽ˜์ด์ง€ ํ๋ฆ„ ์ œ์–ด ์•ก์…˜(forward/include ์•ก์…˜)
   2. ์ž๋ฐ”๋นˆ ์‚ฌ์šฉ ์•ก์…˜(useBean ์•ก์…˜)
   3. ์• ํ”Œ๋ฆฟ ์‚ฌ์šฉ ์•ก์…˜(plugin ์•ก์…˜)

โœ” forward ์•ก์…˜

- pageContext ๋‚ด์žฅ ๊ฐ์ฒด์˜ forward() ๋ฉ”์†Œ๋“œ๋ฅผ ํƒœ๊ทธ๋กœ ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅํ•˜๋‹ค
- ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์— ๊ด€ํ•œ ์ฒ˜๋ฆฌ๊ถŒ์„ page ์†์„ฑ์— ์ง€์ •๋œ ํŽ˜์ด์ง€๋กœ ๋„˜๊ธฐ๋Š” ์—ญํ• 
- ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‘๋‹ต์ด ์™„๋ฃŒ๋˜์–ด๋„ ์›๋ž˜ ํŽ˜์ด์ง€๋กœ ์ œ์–ด๊ถŒ์ด ๋„˜์–ด๊ฐ€์ง€ ์•Š๊ณ  ๋ชจ๋“  ์‘๋‹ต์ด ์ข…๋ฃŒ๋œ๋‹ค

๐Ÿ’ก ์‚ฌ์šฉ๋ฒ• forward

โœ” include ์•ก์…˜

- ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์— ๊ด€ํ•œ ์ฒ˜๋ฆฌ๊ถŒ์„ page ์†์„ฑ์— ์ง€์ •๋œ ํŽ˜์ด์ง€๋กœ ๋„˜๊ธฐ๋Š” ์—ญํ• 
- ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‘๋‹ต์ด ์™„๋ฃŒ๋˜๋ฉด ์›๋ž˜ ํŽ˜์ด์ง€๋กœ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜

๐Ÿ’ก ์‚ฌ์šฉ๋ฒ• include



Share Tweet +1