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

๐ŸŒ  ์ž๋ฐ” ์„œ๋ฒ„ ํŽ˜์ด์ง€ JSP

JSP - 1. ๋‚ด์žฅ๊ฐ์ฒด (Parameter) ๋กœ ๋ฐ์ดํ„ฐ ๋ฐ›์•„ ์ „์†ก

by Meteora_ 2021. 3. 15.
728x90
request.setCharacterEncoding("utf-8");

์ธ์ฝ”๋”ฉ์„ค์ •

 

 

๋‚ด์žฅ๊ฐ์ฒด 4๊ฐ€์ง€


request

getParameter -๊ฐ’์„ ๋ฐ›์„ ๋•Œ

getParameterValues -๊ฐ’๋“ค์„ ๋ฐ›์„ ๋Œ€
setAttribute -์ง์Œ€๋•Œ(๊ฐ์ฒด๋ฅผ ์ €์žฅํ•œ๋‹ค)
getAttribute -์งํ’€์–ด

YouClass cls = new YouClass("์ฃผ์ง€ํ›ˆ");
//์ง์‹ธ!


//๋‚ด์žฅ๊ฐ์ฒด
//1 ๋ฒˆ์งธ
request.setAttribute("you", cls);
    
    Object obj = request.getAttribute("you");
    
    //Object obj = session.getAttribute("you");
    
    
    YouClass ycls = null;
    if(obj != null){
    	ycls = (YouClass)obj;
    }

response

sendRedirect

response.sendRedirect("index4.jsp");  
//- ์ด๊ฑด  session์—๋‹ค๊ฐ€ ํฌ์žฅํ•˜๋ฉด ์ „์†ก๋œ๋‹ค request์ผ๋•Œ๋Š”์•ˆ๋œ๋‹ค.

pageContext

forward

ํŽ˜์ด์ง€์— ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ „์†ก/์ด๋™ํ• ๊ฒฝ๋กœ

pageContext.forward("index4.jsp");
request.getRequestDispatcher("index4.jsp").forward(request, response);

 

session

 setAttribute -์ง์„ ๋ณด๊ด€ํ•ด
 getAttribute -์งํ’€์–ด

//HttpSession
//์„ธ์…˜์œผ๋กœ๋„ ์‹คํ–‰๋œ๋‹ค.
session.setAttribute("you", cls);
//์œ„์™€ ๋™์ผํ•œ ๋ฐฉ๋ฒ• = request.getSession.setAttribute("you", cls);
//<session ์ผ๋•Œ>
response.sendRedirect("index4.jsp");  
//- ์ด๊ฑด  session์—๋‹ค๊ฐ€ ํฌ์žฅํ•˜๋ฉด ์ „์†ก๋œ๋‹ค request์ผ๋•Œ๋Š”์•ˆ๋œ๋‹ค.

//request: ์ผํšŒ์„ฑ
//session: ์ง€์ •์•ˆํ•˜๋ฉด ๊ณ„์† ์‹คํ–‰ ,๋‚จ๋ฐœ๋˜๋ฉด ์•ˆ๋œ๋‹ค(์ค‘์š”ํ•œ๋ฐ์ดํ„ฐ๋Š” ์„ธ์…˜์œผ๋กœ)

๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋œ ํŽ˜์ด์ง€์—์„œ ์ง์„ ํ‘ผ๋‹ค.

Object obj = session.getAttribute("you");
    YouClass ycls = null;
    if(obj != null){
    	ycls = (YouClass)obj;
    }
    
    %>


<%
if(ycls != null){
%>


<h1>๋„˜์–ด์˜จ ์ด๋ฆ„:<%= ycls.toString() %></h1>

<%
}

%>

 

 

ํŽ˜์ด์ง€์™€ ํŽ˜์ด์ง€ ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ

 

 

 

 

<jsp> ํŽ˜์ด์ง€ ์ด๋™ ๋ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ : request or session

<jsp> ํŽ˜์ด์ง€ ์ด๋™ ๋ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ : request or session [์˜ˆ์ œ][index.jsp]<!DOCTYPE html&g...

blog.naver.com

 

 

 

1. parameter :  ๋ฌธ์ž์—ด์ด๋‚˜ ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋งŒ ๊ฐ€๋Šฅ(์ˆซ์ž๋„ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์„œ ๊ฐ€์•ผํ•œ๋‹ค.)

                ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•  ๋•Œ ์ „๋‹ฌ

                ํผ์„ ์ œ์™ธํ™˜ ๊ฒฝ์šฐ์—๋Š” ์ฃผ์†Œ์— ์ง์ ‘ ๊ธฐ์žฌํ•ด์„œ ์ „๋‹ฌ

                ํผ์—์„œ๋Š” name ์†์„ฑ์„ ๊ฐ–๋Š” ๊ฐ์ฒด๋Š” ์ „๋ถ€ ์ „๋‹ฌ

              

 

 

ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” set์ด ์—†๊ณ , ์˜ค์ง  request๊ฐ–๊ณ ๋งŒ ํ•œ๋‹ค.

 

 

    

[์ฃผ์†Œ์— ์ง์ ‘ ๊ธฐ์žฌํ•ด์„œ ์ „๋‹ฌ]   

 

 

1๊ฐœ ์ผ๋•Œ String์œผ๋กœ ๋ฐ›์•„์„œ

<a href="register.jsp?name=kim "> ๊ฐ€์ž… </a>

register.jsp : String str = request.getParameter("name");

 

 

name์ด ์—ฌ๋Ÿฌ๊ฐœ ์ผ๋•Œ ๋ฐฐ์—ด๋กœ ๋ฐ›์•„์„œ

<a href="register.jsp?name=kim&name=park "> ๊ฐ€์ž… </a>

register.jsp : String [] arr=request.getParameterValues("name");

 

 

 

[form]

 

<form action ="register.jsp'>

<input type="text" name="id" />

<input type="hidden" name="num" value="1"/>

 

<input type="submit" value="์ œ์ถœ"/> 

</form>

 

register.jsp : request.getParameter

                   request.getParameterValues

 

 

<input type="hidden" name="num" value="1/>: ๊ฐ€๋ น ๊ฒŒ์‹œํŒ ๋ชฉ๋ก์—์„œ ๊ธ€ 1๊ฐœ ์„ ํƒํ•ด์„œ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ

์ˆ˜์ •ํ•˜๋Š” ํŽ˜์ด์ง€์—๋Š” ๊ฒŒ์‹œํŒ ๋ชฉ๋ก์˜ ํ˜„์žฌ ํŽ˜์ด์ง€ ์ •๋ณด๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋‚˜, ๋ณด์ด์ง€๋Š” ์•Š์•„์•ผ ํ•œ๋‹ค.

 

 

 

 

 

 

2. attrubute : ๋งต ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ

                  ์„œ๋ฒ„์—์„œ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์‘๋‹ตํ• ๋•Œ

 

์„œ๋ฒ„์—์„œ ์‘๋‹ตํ•  ๋•Œ๋Š”  ํŒŒ๋ผ๋ฏธํ„ฐ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.(์™œ๋ƒ๋ฉด ์„œ๋ฒ„๋Š” ์ž๋ฐ”๊ณ  ์ž๋ฐ”๋Š” ๋งต์„ ์“ธ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—   attribute  ์‚ฌ์šฉ)

 

 page, request, session, application์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ (์ด์ค‘์—์„œ ๊ผญ ๊ธฐ์–ตํ•  ๊ฒƒ์€  request, session)

 

์ €์žฅ์€ setAttribute("์†์„ฑ์ด๋ฆ„", Object data) Objectํƒ€์ž…์ด๋ผ ์ž๋ฐ”์—์„œ ๋งŒ๋“ ๊ฑด ๋ฌด์—‡์ด๋“  ๊ฐ€๋Šฅ.

 

ํด๋ผ์ด์–ธํŠธ์—์„œ ์ฝ๊ธฐ๋Š”,

(์ž๋ฃŒํ˜•) getAttribute("์†์„ฑ์ด๋ฆ„") ~ ํ˜•๋ณ€ํ™˜ํ•„์š”, ์™œ๋ƒ๋ฉด ์ €์žฅ์„ Object ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฝ์–ด ์˜ฌ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ํ˜•๋ณ€ํ™˜์ด ํ•„์š”ํ•˜๋‹ค.

 

๋งต์€ ์—†๋Š” ์ด๋ฆ„์„ ์“ฐ๋ฉด ํ•ญ์ƒ  null์ด ๋‚˜์˜จ๋‹ค

null : ์ •๋ง  null๊ฐ’ ์ด๊ฑฐ๋‚˜ ์ด๋ฆ„์„ ์ž˜๋ชป ์ฃผ์–ด์ง„ ๊ฒฝ์šฐ

 

 

 

requset์˜ attribute๋Š”  forword๋กœ ์ด๋™ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๊ณต์œ ๊ฐ€ ๋œ๋‹ค.

(forword๋กœ ์ด๋™ํ•œ๊ฒŒ ์•„๋‹ˆ๋ฉด request ํ•˜๋ฉด ์•ˆ๋œ๋‹ค.)

(๋กœ๊ทธ์ธ ์ •๋ณด๋Š” ์ ˆ๋Œ€  request์— ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค)

 request ; ๋ฐ์ดํ„ฐ ์ €์žฅ

 

 

session์€ ์‹œ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ์ฐฝ์œผ๋กœ ์ถœ๋ ฅ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด ๊ณต์œ 

(์„ธ์…˜์€ ํŽ˜์ด์ง€ ์ด๋™์„ ์ฒœ๋ฒˆ ๋งŒ๋ฒˆ ํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋”ฐ๋ผ๊ฐ„๋‹ค. ์„ธ์…˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์–ด์ง€๋Š” ๊ฒฝ์šฐ๋Š”

session confige์‚ฌ์šฉํ•ด์„œ ์‹œ๊ฐ„์ด ๋‹ค ๋˜์—ˆ๊ฑฐ๋‚˜, ํŽ˜์ด์ง€ ์ด๋™์‹œ ์ƒˆ๋กœ์šด ์œˆ๋„์šฐ ์ฐฝ์„ ๋„์›Œ์„œ ํ•˜๋Š” ๊ฒฝ์šฐ)

 

 

์„ธ์…˜์ €์žฅ 2๊ฐœ : ๋กœ๊ทธ์ธ ์ •๋ณด / cart

๋กœ๊ทธ์ธ ์ •๋ณด ์ €์žฅ(ํ•œ๋ฒˆ ๋กœ๊ทธ์ธ ํ•˜๋ฉด ํŽ˜์ด์ง€ ์ด๋™ํ•ด๋„ ๊ณ„์† ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€),  

์‡ผํ•‘๋ชฐ cart

 

์„ธ์…˜์ด ์˜๊ตฌ์ ์ด์ง„ ์•Š๋‹ค.

๋ธŒ๋ผ์šฐ์ € ๋‹ซ๊ณ  ์ƒˆ๋กœ์šด ๋ธŒ๋ผ์šฐ์ € ์—ด์–ด๋„, ์ •๋ณด๊ฐ€ ๋‚จ์•„ ์žˆ๊ณ  ์‹ถ์œผ๋ฉด, ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€ or ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

 

 

3. ์ž๋ฐ”์—์„œ ํŽ˜์ด์ง€ ์ด๋™

 

1)reponse.sendRedirect("์ด๋™๊ฒฝ๋กœ")

--> ์š”์ฒญ ํ๋ฆ„์ด ๋ณ€๊ฒฝ

--> ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ

--> ์ค‘๊ฐ„ ๊ณผ์ •์˜ ํŽ˜์ด์ง€๋Š”  history ์—์„œ ์‚ญ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

--> ์ž‘์—…์ด ์™„๋ฃŒ ๋ ๋•Œ (ํšŒ์›๊ฐ€์ž…์„ฑ๊ณต, ์ˆ˜์ •์™„๋ฃŒ, ํƒˆํ‡ด)

 

 

2) forwarding

RequestDispatcher   res=request.getRequestDispacher("์ด๋™ํ•  ๊ฒฝ๋กœ")

 res.forward(request, response);์œ„์˜ ๊ฒฝ๋กœ๋กœ ํฌ์›Œ๋”ฉ ๋œ๋‹ค

--> ๊ณ„์† ์ด์–ด์ง€๋Š” ํ๋ฆ„ (ํ•˜๊ณ  ์žˆ๋Š” ๊ณผ์ •, ๋งˆ๋ฌด๋ฆฌ ์•„์ง ๋œ๋จ)

--> ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ์ด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

--> ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ

๊ฒŒ์‹œํŒ๊ธ€ ํด๋ฆญ

์ƒ์„ธ๋ณด๊ธฐ ํด๋ฆญ

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋ณด์—ฌ์ฃผ๋Š”๊ฒƒ

 

 

 

[ํšŒ์›๊ฐ€์ž… ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ]

 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณ€๊ฒฝ์„ ๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚œ ํ›„์— ํŽ˜์ด์ง€ ์ด๋™์„ ํ•  ๋•Œ๋Š” ํฌ์›Œ๋”ฉ ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  ํฌ์›Œ๋”ฉ์€ ์ฃผ์†Œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ ๊ณ ์นจ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ด์ „ ์š”์ฒญ์„

๋‹ค์‹œ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋™์ผํ•œ ์ž‘์—…์„ ๋‹ค์‹œ ์š”์ฒญ ํ•ฉ๋‹ˆ๋‹ค.

(select๋ฌธ์€ ํฌ์›Œ๋”ฉ ๊ฐ€๋Šฅํ•˜๋‚˜, ์—…๋ฐ์ดํŠธ ์‚ญ์ œ ๋“ฑ๊ณผ ๊ฐ™์€ sql ๊ตฌ๋ฌธ์€ ๋ฐ˜๋“œ์‹œ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋กœ ํ• ๊ฒƒ)

ํšŒ์› ๊ฐ€์ž… ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํŽ˜์ด์ง€๋Š” ๋ฐ˜๋“œ์‹œ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋กœ ๋ณด์—ฌ์ค„ ๊ฒƒ. 

 

 

 

 

 

<์ถœ์ฒ˜ ๋ฐ•๋ฌธ์„๊ต์ˆ˜๋‹˜ PPT์ž๋ฃŒ ๋ฐ ๊ฐ•์˜ ๋‚ด์šฉ, ์ด๊ธ€์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ถŒ๋ฆฌ๋Š” ๋ฐ•๋ฌธ์„ ๊ต์ˆ˜์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค.>

์ €์ž‘๊ถŒ์ด์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์—…์šฉ์™ธ์— ์‚ฌ์šฉ์„ ์ ˆ๋Œ€ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€