๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต

2023. 2. 14. 13:45ใ†JSP&Servlet

์ฐธ๊ณ ์‚ฌํ•ญ

project ์ƒ์„ฑํ•  ๋•Œ web.xml ์ƒ์„ฑ ์ฒดํฌํ•ด์„œ ์†Œ์Šค๋ฅผ ๋ณด๋ฉด welcome file์ด ์žˆ์Œ

์‹œ์ž‘ํŒŒ์ผ๋กœ index.jsp๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์–ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ runํ•˜๋ฉด index.jsp๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋จ.

 

๊ฒŒ์‹œ๊ธ€ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต ์ฒซ ํŽ˜์ด์ง€๋Š” ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด์ž„.

ํ”„๋กœ์ ํŠธ runํ•˜๋ฉด index.jsp๊ฐ€ ๋œจ๋Š”๋ฐ ๊ฑฐ๊ธฐ์„œ ์•„๋ฌด์ž‘์—… ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ํŽ˜์ด์ง€ ์ด๋™(servlet์œผ๋กœ)ํ•˜๊ฒŒ ์„ค์ •ํ•จ.

ํŽ˜์ด์ง€ ์ด๋™ ๋ฒ• : (jsp์˜ ๊ธฐ๋ณธ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•จ)

<jsp:forward page="์ด๋™ํ•  ํŽ˜์ด์ง€.do"></jsp:forward>

 

jsp ์‚ฌ์ด์‚ฌ์ด์˜ servlet์„ ํ•˜๋‚˜๋กœ ํ†ต์ผํ•ด์„œ ์“ฐ๋Š” ๋ฐฉ๋ฒ• ํ•„์š”

controller๋กœ servlet ์ƒ์„ฑ ํ›„ ํ†ต์ œ

 

 

๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ํ™”๋ฉด

ํ…Œ์ด๋ธ” ํ–‰์€ ๋ชจ๋ฆ„(๊ธ€ ๋“ฑ๋ก๋œ ๊ฐœ์ˆ˜๋งŒํผ ๋‚˜์™€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—)

ํ•˜๋‚˜๋„ ๊ธ€์ด ๋“ฑ๋ก ์•ˆ ํ–ˆ์„ ๋•Œ ๋””ํดํŠธ ๊ฐ’์˜ ํ–‰์€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ!

 

๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ํ™”๋ฉด

๊ธ€๋“ฑ๋ก์„ ๋ˆ„๋ฅด๋ฉด ๊ธ€์ด ๋“ฑ๋ก ๋˜๊ณ  ๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ๋กœ ์ด๋™ํ•ด์•ผ ๋จ.

๊ธ€ ๋ฒˆํ˜ธ๋Š” ์ค‘๋ณต์ด ๋˜๋ฉด ์•ˆ ๋จ.(๊ธ€์ด ๋“ฑ๋ก๋  ๋•Œ๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ๋จ-๋ณ€์ˆ˜๋กœ ์คŒ)

๊ฒŒ์‹œ๊ธ€ ์ •๋ณด๊ฐ€ ์ €์žฅ๋  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ๋„ ๋งŒ๋“ค์–ด์•ผ ๋จ.

๊ทธ ๋ฆฌ์ŠคํŠธ์— board(๊ฒŒ์‹œ๊ธ€ ์ •๋ณด) ์ €์žฅ ํ›„ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ํŽ˜์ด์ง€๋กœ ๊ฐ€์„œ ๊ทธ ๋ฆฌ์ŠคํŠธ ์ „๋‹ฌํ•ด์•ผ ๋จ.

(๋ฆฌ์ŠคํŠธ ์ „๋‹ฌ์€ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ํŽ˜์ด์ง€ if๋ฌธ์— ๊ฐ€์„œ ํ•  ๊ฒƒ)

 

board_list๋กœ ๊ฐ€์„œ ๊ธ€ ๋“ฑ๋ก ์ˆ˜๋งŒํผ ํ–‰์ด ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋„๋ก for๋ฌธ ๋งŒ๋“ค์–ด์ค˜์•ผํ•จ.

๋ฐ˜๋ณต ๋Œ๋ฆด ๊ฒƒ์€ boardList์ž„

ํ•ด๋‹น ์—ด ์ •๋ณด๋“ค ๋„ฃ๊ธฐ 

 

์ œ๋ชฉ ํด๋ฆญํ•˜๋ฉด ์ƒ์„ธ ๋ณด๊ธฐ ํ™”๋ฉด์œผ๋กœ ๊ฐ€๊ฒŒ ํ•ด์•ผ ํ•จ

<a>ํƒœ๊ทธ ์‚ฌ์šฉ

์ƒ์„ธ ๋ณด๊ธฐ ํ™”๋ฉด ๊ฐˆ ๋•Œ a ํƒœ๊ทธ๋กœ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ๊ฐ€์•ผ ๋จ.

"์ด๋™ํ•  ๊ณณ" ? ${๊ฐ€์ ธ๊ฐˆ ๋ฐ์ดํ„ฐ}

์™œ๋ƒํ•˜๋ฉด ์ƒ์„ธ๋ณด๊ธฐ์— ๋“ฑ๋กํ•œ ๊ฒŒ์‹œ๊ธ€์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์—ฌ์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์—

๋“ฑ๋กํ•œ ๊ฒŒ์‹œ๊ธ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋ฐฉ๋ฒ• :  ๊ฒŒ์‹œ๊ธ€ ๋ฐ์ดํ„ฐ ์ค‘ ๊ณ ์œ ํ•œ ๊ฐ’์œผ๋กœ ๋œ ๊ธ€ ๋ฒˆํ˜ธ๋กœ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค

์ œ๋ชฉ์„ ํด๋ฆญํ•œ ๊ฒŒ์‹œ๊ธ€์˜ ๊ธ€๋ฒˆํ˜ธ๊ฐ€ ๊ฒŒ์‹œ๊ธ€์ด ์ €์žฅ๋œ ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ์— ์žˆ๋Š” ๊ธ€ ๋ฒˆํ˜ธ์™€ ๋™์ผํ•˜๋ฉด

๊ทธ ๊ธ€๋ฒˆํ˜ธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ๋ฝ‘์œผ๋ฉด ๋จ > for ๋ฌธ์œผ๋กœ 

 

๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ 

๊ธ€๋ฒˆํ˜ธ ์‚ฌ์šฉํ•˜์—ฌ for๋ฌธ ๋Œ๋ ค์„œ ๊ธ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ list ๋ฐ์ดํ„ฐ ์ง€์›Œ์ฃผ๋ฉด ๋จ

 

๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •

๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ค€๋น„ํ•ด์ค˜์•ผ ํ•จ.

์ˆ˜์ •ํ•˜๊ธฐ ์ „์ธ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์ด๊ฒŒ ํ•ด์•ผ ๋จ.

์ˆ˜์ • ํŽ˜์ด์ง€์—์„œ๋Š” ์ˆ˜์ •ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์™€์•ผ ๋จ.

๋‚ด์šฉ ๋ถ€๋ถ„์ธ textarea๋Š” value ์†์„ฑ์ด ์—†์Œ!

๋ˆˆ์— ๋ณด์ด๊ณ  ์‹ถ์œผ๋ฉด ${board.content }</textarea> ๋‹ซ๋Š” ํƒœ๊ทธ ์•ž์— ๋„ฃ์œผ๋ฉด ๋จ.

 

 

์ˆ˜์ •๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ํ›„ ๊ธ€ ์ˆ˜์ •์„ ๋ˆ„๋ฅด๋ฉด ๊ทธ ์ˆ˜์ • ๊ฐ€์ง€๊ณ  ์ง„์งœ ์ˆ˜์ •์ด ๋˜์–ด์•ผ ๋จ.

์ˆ˜์ • ๋‚ด์šฉ ์ค‘ disabled ์†์„ฑ : ์‚ฌ์šฉ ๋ถˆ๊ฐ€ > form ํƒœ๊ทธ์— ๊ฐ์‹ธ์ ธ์žˆ์–ด๋„ ๋ฐ์ดํ„ฐ ์•ˆ ๋„˜์–ด๊ฐ.๊ทธ๋ž˜์„œ readonly : ์ฝ๊ธฐ ์ „์šฉ ์†์„ฑ ์ถ”๊ฐ€ํ•ด์•ผ ๋จ. ์ž‘์„ฑ ๋‚ ์งœ ๋ฐ ์ž‘์„ฑ์ž ์ˆ˜์ • ๋ถˆ๊ฐ€ํ•˜๊ฒŒ ์ˆ˜์ • ๋‚ด์šฉ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ๊ฐ€์•ผ ๋˜๊ณ  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€์—์„œ ๊ธ€๋ฒˆํ˜ธ๋„ ๊ฐ™์ด ๋„˜๊ฒจ์•ผ ๋จ.

 

 

๊ฒŒ์‹œ๊ธ€ ๋ฒ„๊ทธ ? : ์ƒˆ๋กœ๊ณ ์นจ ํ•˜๋ฉด ๊ณ„์† ๊ธ€์ด ๋“ฑ๋ก๋จ ์šฐ๋ฆฌ๋Š” ๊ฒŒ์‹œํŒ ๋งŒ๋“ค ๋•Œ ์•„๋ž˜ ํŽ˜์ด์ง€ ์ด๋™ ๋ฐฉ๋ฒ•์„ ์ผ์Œ์ด๋™2๋Š” url๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— servlet์œผ๋กœ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์† ๊ธ€ ๋“ฑ๋ก์„ ํ•˜๊ฒŒ ๋จ >> ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒƒ.servlet ์—์„œ servlet์œผ๋กœ ๋‹ค์‹œ ์˜ฌ ๋•Œ๋งŒ ์ด๋™ ์†Œ์Šค๋ฅผ ํŽ˜์ด์ง€1 ๋ฒ„์ „์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•จ.if๋ฌธ์œผ๋กœ ์กฐ๊ฑด ๊ฑธ์–ด๋‘  ํ‰์†Œ์˜ ์ด๋™ ๊ฒฝ๋กœ๋Š” else๋กœ ๋‘๊ณ  ๋ณ€์ˆ˜๊ฐ’์„ false์ผ ๋•Œ๋Š” ๊ณ„์† ๋Œ๊ฒŒservlet > servlet ๊ฐˆ ๋•Œ๋งŒ ๋ณ€์ˆ˜๊ฐ’์„ true๋กœ ์คŒ 

 

ํŽ˜์ด์ง€ ์ด๋™1

url ๊ฒฝ๋กœ๊ฐ€ ๋ชฉ์ ์ง€๋กœ ๋ฐ”๋€œ.

response.sendRedirect("test.jsp");

http://localhost:8081/BasicBoard/test.jsp (์ตœ์ข… ํŽ˜์ด์ง€๋กœ ์ด๋™)

 

ํŽ˜์ด์ง€ ์ด๋™2

ํŽ˜์ด์ง€๊ฐ€ ๋ณ€๊ฒฝ ๋ผ๋„ url์ด ๋ฐ”๋€Œ์ง€ ์•Š์Œ.

RequestDispatcher dispatcher = request.getRequestDispatcher("test.jsp");

dispatcher.forward(request, response);