๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Spring/Boost Course Web

2.4 JSP

1) JSP๋ž€?

๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ

jsp๋Š” ์ž์ฒด๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  jsp ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ฐ”๋€Œ์–ด์„œ ๋™์ž‘ํ•ด์š” 

jsp๋Š” WebContent ์•ˆ์— ์žˆ์Œ. ์•ˆ์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด๋„ ๋˜๊ณ .

 

๋งจ ์œ„ ์ง€์‹œ๋ฌธ, ์ด๋Ÿฐ ์ง€์‹œ๋ฅผ ๋“ฃ๋Š” ๊ฒƒ์€ JSP๋ฅผ ์‹คํ–‰ํ•˜๋Š” WAS

<%@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>sum10</title>

</head>
<body>

๋ฐ‘ ๊บฝ์‡  ์•ˆ ์ž๋ฐ” ์ฝ”๋“œ
<%
   int total = 0;
   for(int i = 1; i <= 10; i++){
       total = total + i;
   }
%>

์ถœ๋ ฅ๋˜๋Š” ์นœ๊ตฌ๋Š” ๊บฝ์‡  ์•ˆ total / out.print(); -> <%=  %>
1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ•ฉ : <%=total %> 


</body>
</html>



JSP ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

  • ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ASP(Active Server Page)๋ผ๋Š” ์‰ฝ๊ฒŒ ์›น์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ(script) ์—”์ง„์„ ๋ฐœํ‘œํ•จ (1998๋…„)

  • 1997๋…„์— ๋ฐœํ‘œ๋œ ์„œ๋ธ”๋ฆฟ์€ ASP์— ๋น„ํ•˜์—ฌ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐœ๋ฐœ ๋ฐฉ์‹์ด ๋ถˆํŽธํ•จ

  • ASP์— ๋Œ€ํ•ญํ•˜๊ธฐ ์œ„ํ•˜์—ฌ 1999๋…„ ์ฌ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ์—์„œ JSP๋ฅผ ๋ฐœํ‘œ

  • JSP๋Š” ์‹ค์ œ๋กœ ์„œ๋ธ”๋ฆฟ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉ

 

ํ•ญ์ƒ jsp ๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ฐ”๋€Œ๊ณ  ์ด ๋ฐ”๋€ ์„œ๋ธ”๋ฆฟ์ด ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ฐ”๋€ ํ›„์—๋Š” ์„œ๋ธ”๋ฆฟ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด๊ณผ ๋˜‘๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.

 

2) JSP ๋ผ์ดํ”„์‚ฌ์ดํด

 

1์—์„œ 10๊นŒ์ง€ ์ถœ๋ ฅํ•˜๋Š” jsp๊ฐ€ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€๊ฒฝ ๋œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. → ์‹ค์ œ๋กœ ๋ณด๋Š” ๋ฐฉ๋ฒ• ์ œ์‹œ

 

public void _jspInit() {

 }



 public void _jspDestroy() {

 }



 public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)

     throws java.io.IOException, javax.servlet.ServletException {



   .....



   try {

     .....



     out.write("\n");

     out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n");

     out.write("<html>\n");

     out.write("<head>\n");

     out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");

     out.write("<title>sum10</title>\n");

     out.write("</head>\n");

     out.write("<body>\n");

     out.write("\n");



  int total = 0;

  for(int i = 1; i <= 10; i++){

    total = total + i;

  }



     out.write("\n");

     out.write("\n");

     out.write("1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ•ฉ : ");

     out.print(total );

     out.write("\n");

     out.write("\n");

     out.write("</body>\n");

     out.write("</html>");

   } catch (java.lang.Throwable t) {

     .....

     }

   } finally {

     _jspxFactory.releasePageContext(_jspx_page_context);

   }

 }

์Šคํฌ๋ฆฝํ‹€๋ฆฟ ๋ถ€๋ถ„์ด๋ผ๊ณ  java ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•œ ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

int total = 0;

for(int i = 1; i <= 10; i++){

   total = total + i;

}

 

sum10.jsp๊ฐ€ ์‹คํ–‰๋  ๋•Œ ๋ฒŒ์–ด์ง€๋Š” ์ผ

  • ์ด๊ธ€๋ฆฝ์Šค ์›Œํฌ ์ŠคํŽ˜์ด์Šค ์•„๋ž˜์˜ .metadata ํด๋”์— sum10_jsp.javaํŒŒ์ผ ์ƒ์„ฑ๋œ๋‹ค.

  • ํ•ด๋‹น ํŒŒ์ผ์˜ _jspService() ๋ฉ”์†Œ๋“œ ์•ˆ์„ ์‚ดํŽด ๋ณด๋ฉด jspํŒŒ์ผ์˜ ๋‚ด์šฉ์ด ๋ณ€ํ™˜๋˜์–ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • sum10_jsp.java๋Š” ์„œ๋ธ”๋ฆฟ ์†Œ์Šค๋กœ ์ž๋™์œผ๋กœ ์ปดํŒŒ์ผ๋˜๋ฉด์„œ ์‹คํ–‰๋˜์–ด ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ๋ณด์—ฌ์ง.



JSP์˜ ์‹คํ–‰์ˆœ์„œ

  1. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น์„œ๋ฒ„์— JSP์— ๋Œ€ํ•œ ์š”์ฒญ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

  2. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์š”์ฒญํ•œ JSP๊ฐ€ ์ตœ์ดˆ๋กœ ์š”์ฒญํ–ˆ์„ ๊ฒฝ์šฐ๋งŒ JSP๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๊ฐ€ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. (java ํŒŒ์ผ ์ƒ์„ฑ)

  3. ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•ด์„œ ์‹คํ–‰๊ฐ€๋Šฅํ•œ bytecode๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. (class ํŒŒ์ผ ์ƒ์„ฑ)

  4. ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค๋ฅผ ๋กœ๋”ฉํ•˜๊ณ  ์ธ์Šคํ„ด์Šค(๊ฐ์ฒด)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋ˆ„๊ฐ€์š”? jsp ์—”์ง„์ด์š”

  5. ์„œ๋ธ”๋ฆฟ์ด ์‹คํ–‰๋˜์–ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

jspInit์ด๋‚˜ jspDestroy๊ฐ€ ์กด์žฌํ•˜๊ณ  ์žˆ๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด scriptlet์— ์ผ๋˜ ๊ฒƒ๋“ค์€ ๋‹ค jspService๋ผ๋Š” ๋ฉ”์„œ๋“œ ์•ˆ์—๋งŒ ๋“ค์–ด์™€์„œ ๋ณ€๊ฒฝ์ด ๋˜๊ณ  ์žˆ์–ด์š”

์™œ ๊ทธ๋Ÿด๊นŒ์š”?

์„œ๋ธ”๋ฆฟ ํ•˜์‹œ๋ฉด์„œ ๋Š๋ผ์…จ์ง€๋งŒ ์‘๋‹ต์— ํฌํ•จ๋˜๋Š” ๊ฑด Service ๋ฐ–์— ์—†๊ฑฐ๋“ ์š”.

๋งค๋ฒˆ ํ˜ธ์ถœ๋˜๋Š” ๊ฒŒ Service ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ž˜์š”.

 

๊ทธ๋Ÿฐ๋ฐ ๊ทธ๋Ÿผ JSP์—์„œ๋Š” ํ•ญ์ƒ Service์— ๋ฐ–์—๋Š” ๋ชป ์จ? ๊ทธ๋ ‡์ง€๋Š” ์•Š์•„์š”.

<%!๋ผ๊ณ  ์“ฐ๋Š” ์„ ์–ธ์‹%>

์—ฌ๋Ÿฌ๋ถ„์ด ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•œ๋‹ค๋˜๊ฐ€ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด Service๋ผ๋Š” ๋ฉ”์„œ๋“œ ๋‚ด์— ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ  jspService๋ฉ”์„œ๋“œ ๋ฐ”๊นฅ์ชฝ์— ํ•ด๋‹น ์ฝ”๋“œ๋“ค์ด ๋งŒ๋“ค์–ด์ง€๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด์š”.



lifecycle.jsp

(๊ฐ™๋‚ด์šฉ ์ƒ๋žต)

<title>Insert title here</title>

</head>

<body>

hello

<%

  System.out.println("_jspService()");

%>

 

<%!

public void jspInit() {

  System.out.println("jspInit()!");

}

 

public void jspDestroy() {

  System.out.println("jspDestroy()");

}

%>

 

</body>

</html>

 

→ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ: jsp๋„ ๋˜‘๊ฐ™์ด init service destroy, ๋ณด๋Š” ๋ฐฉ๋ฒ•์ด ์กฐ๊ธˆ ๋ณต์žกํ•  ๋ฟ!

 

3) JSP ๋ฌธ๋ฒ•

์Šคํฌ๋ฆฝํŠธ ์š”์†Œ์˜ ์ดํ•ด

  • JSP ํŽ˜์ด์ง€์—์„œ๋Š” ์„ ์–ธ๋ฌธ(Declaration), ์Šคํฌ๋ฆฝํŠธ๋ฆฟ(Scriptlet), ํ‘œํ˜„์‹(Expression) ์ด๋ผ๋Š” 3๊ฐ€์ง€์˜ ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ๋ฅผ ์ œ๊ณต

 1. ์„ ์–ธ๋ฌธ

  • ์„ ์–ธ๋ฌธ : <%! %>

  • ์„ ์–ธ๋ฌธ์€ JSP ํŽ˜์ด์ง€ ๋‚ด์—์„œ ํ•„์š”ํ•œ ๋ฉค๋ฒ„๋ณ€์ˆ˜๋‚˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์„ ์–ธํ•ด ์‚ฌ์šฉํ•˜๋Š” ์š”์†Œ

  • <%! ๋ฌธ์žฅ %>

  • ์œ„์น˜๋Š” ํฌ๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค. ์–ด์ฐจํ”ผ ์ž๋ฐ”๋กœ ๋ฐ”๋€” ๋•Œ ์œ„์น˜๊ฐ€ ์ง€์ •๋˜๋‹ˆ๊นŒ

์•ž์—์„œ ๋ชจ๋‘ service ๋ผ๋Š” ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ๋ฐ”๋€Œ์–ด ์žˆ์—ˆ๋˜ ๊ฑฐ ๊ธฐ์–ตํ•˜์‹คํ…๋ฐ์š” ์ด ์„ ์–ธ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋น„์Šค ๋ฉ”์„œ๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ํด๋ž˜์Šค ๋ฐ”๋”” ์ชฝ์— ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

 

exam1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>



id : <%=getId() %>

</body>

</html>



<%!

   String id = "u001"; //๋ฉค๋ฒ„๋ณ€์ˆ˜ ์„ ์–ธ

   public String getId( ) { //๋ฉ”์†Œ๋“œ ์„ ์–ธ

       return id;

   }

%>



2. ์Šคํฌ๋ฆฝํŠธ๋ฆฟ

  • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ : <% %>

  • ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์ด ์“ฐ์ด๋Š” ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ

  • ์ฃผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋กœ์ง์„ ๊ธฐ์ˆ ํ•  ๋•Œ ์‚ฌ์šฉ

  • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜

  • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ์˜ ๋ฌธ๋ฒ•

  • <% ๋ฌธ์žฅ%> ๋‹ค service ๋ฉ”์„œ๋“œ ์•ˆ์— ์„ ์–ธ

exam02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>



<%

for(int i = 1; i <= 5; i++){

%>

<H<%=i %>> ์•„๋ฆ„๋‹ค์šด ํ•œ๊ธ€ </H<%=i %>>

<%

}

%>

</body>

</html>

 

 

3. ํ‘œํ˜„์‹(Expression)

  • ํ‘œํ˜„์‹ : <%=%>

  • JSP ํŽ˜์ด์ง€์—์„œ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ถœ๋ ฅํ•  ๋ถ€๋ถ„์„ ํ‘œํ˜„ (์ฆ‰, ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ)

  • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ๋‚ด์—์„œ ์ถœ๋ ฅํ•  ๋ถ€๋ถ„์€ ๋‚ด์žฅ๊ฐ์ฒด์ธ out ๊ฐ์ฒด์˜ print() ๋˜๋Š” println() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ถœ๋ ฅ

  • ํ‘œํ˜„์‹์˜ ๋ฌธ๋ฒ•

  • <%=๋ฌธ์žฅ%>

 

4. ์ฃผ์„(Comment)

  • JSPํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์„

  • HTML์ฃผ์„, ์ž๋ฐ”์ฃผ์„, JSP์ฃผ์„

 

1. HTML ์ฃผ์„ <!-- html ์ฃผ์„์ž…๋‹ˆ๋‹ค. -->

  • HTML ์ฃผ์„์€ <!--๋กœ ์‹œ์ž‘ํ•ด์„œ -->๋กœ ๋๋‚˜๋Š” ํ˜•ํƒœ

  • HTML ์ฃผ์„์€ HTML์ฃผ์„์„ ์‚ฌ์šฉํ•œ ํŽ˜์ด์ง€๋ฅผ ์›น์—์„œ ์„œ๋น„์Šคํ•  ๋•Œ ํ™”๋ฉด์— ์ฃผ์„์ด ๋‚ด์šฉ์ด ํ‘œ์‹œ๋˜์ง€๋Š” ์•Š์œผ๋‚˜ , [์†Œ์Šค๋ณด๊ธฐ]์ˆ˜ํ–‰ํ•˜๋ฉด HTML์ฃผ์„์˜ ๋‚ด์šฉ์ด ํ™”๋ฉด์— ํ‘œ์‹œ.

  • ์†Œ์Šค๋ณด๊ธฐ: ๋ณด์ž„, ์›น ์‘๋‹ต๊นŒ์ง€ ๋“ค์–ด๊ฐ ๊ทธ๋‹ˆ๊นŒ out.write(“<!-- html ์ฃผ์„์ž…๋‹ˆ๋‹ค. -->”); ์ด๋Ÿฐ ์‹์œผ๋กœ

 

2. JSP์ฃผ์„ <%-- JSP ์ฃผ์„์ž…๋‹ˆ๋‹ค. --%>

  • JSP ํŽ˜์ด์ง€์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋ฉฐ <%--๋กœ ์‹œ์ž‘ํ•ด์„œ --%>๋กœ ๋๋‚˜๋Š” ํ˜•ํƒœ

  • JSP ์ฃผ์„์€ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ, ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋กœ์„œ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ์›น ๋ธŒ๋ผ์šฐ์ € ์ƒ์—์„œ ์†Œ์Šค ๋ณด๊ธฐ๋ฅผ ํ•ด๋„ ํ‘œ์‹œ ๋˜์ง€ ์•Š์Œ. ๋˜ํ•œ JSP์ฃผ์„ ๋‚ด์— ์‹คํ–‰์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด๋„ ๊ทธ ์ฝ”๋“œ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Œ.

  • ์†Œ์Šค๋ณด๊ธฐ: ์•ˆ๋ณด์ž„, ์›นํ™”๋ฉด: ์•ˆ๋ณด์ž„

 

 

3. ์ž๋ฐ”์ฃผ์„

  • ์ž๋ฐ” ์ฃผ์„์€ //, /**/์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์„ฑ.

  • //์€ ํ•œ ์ค„์งœ๋ฆฌ ์ฃผ์„์„ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋˜๊ณ , /**/์€ ์—ฌ๋Ÿฌ ์ค„์˜ ์ฃผ์„์„ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉ

  • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ์ด๋‚˜ ์„ ์–ธ๋ฌธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์„์œผ๋กœ, ์ž๋ฐ”์™€ ์ฃผ์„ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์ด ๊ฐ™์Œ

  • ์†Œ์Šค๋ณด๊ธฐ: ๋ณด์ž„, ์ž๋ฐ”๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ๋•Œ ์ฃผ์„์ด๊ธฐ์— ์ฃผ์„์€ ๋นผ๊ณ  ์‹คํ–‰

 

 

4) JSP ๋‚ด์žฅ๊ฐ์ฒด

JSP ๋‚ด์žฅ ๊ฐ์ฒด๋ž€?

  • JSP๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์„œ๋ธ”๋ฆฟ ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์‹คํ–‰๋œ๋‹ค.

  • JSP์— ์ž…๋ ฅํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋Š” ์ƒ์„ฑ๋˜๋Š” ์„œ๋ธ”๋ฆฟ ์†Œ์Šค์˜ _jspService() ๋ฉ”์†Œ๋“œ ์•ˆ์— ์‚ฝ์ž…๋˜๋Š” ์ฝ”๋“œ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

  • _jspService()์— ์‚ฝ์ž…๋œ ์ฝ”๋“œ์˜ ์œ—๋ถ€๋ถ„์— ๋ฏธ๋ฆฌ ์„ ์–ธ๋œ ๊ฐ์ฒด๋“ค์ด ์žˆ๋Š”๋ฐ, ํ•ด๋‹น ๊ฐ์ฒด๋“ค์€ jsp์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • response, request, application, session, out๊ณผ ๊ฐ™์€ ๋ณ€์ˆ˜๋ฅผ ๋‚ด์žฅ๊ฐ์ฒด๋ผ๊ณ  ํ•œ๋‹ค.

 

๋‚ด์žฅ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜

 

ImplicitObjects.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

   StringBuffer url = request.getRequestURL();

   // ํŒŒ์ผ ๋‚ด์— request ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•œ ์ ์ด ์—†์–ด๋„ ๋‚ด์žฅ ๊ฐ์ฒด ๋•๋ถ„์— ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

   out.println("url : " + url.toString()); // out ๋„ !

   out.println("<br>");

%>

</body>

</html>

'Spring > Boost Course Web' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

3.1 Spring Core  (0) 2020.11.19
2.6 JSTL & EL  (0) 2020.11.19
2.5 Scope  (0) 2020.11.19
2.3 Servlet  (0) 2020.11.19
2.2 ์›น ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ค์ •  (0) 2020.11.19
2.1 Web๊ฐœ๋ฐœ์˜ ์ดํ•ด  (0) 2020.11.19