MapleStory Finger Point

๐ŸŸค JAVA/๐ŸŸค JSP

[JSP] ์—๋Ÿฌ ์ฒ˜๋ฆฌ (Exception)

HYEJU01 2024. 8. 24. 00:53



[์˜ˆ์™ธ ํŽ˜์ด์ง€]
์˜ˆ์™ธ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ๋•Œ, 
์›น ์ปจํ…Œ์ด๋„ˆ(ํ†ฐ์บฃ)์—์„œ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋ณธ์ ์ธ ์˜ˆ์™ธํŽ˜์ด์ง€๊ฐ€ ๋ณด์—ฌ์ง„๋‹ค.
์ด๋Ÿฌํ•œ ์˜ˆ์™ธํŽ˜์ด์ง€๋Š” ๊ฐœ๋ฐœ๊ณผ์ •์—์„œ ์–ด๋–ค ์—๋Ÿฌ์ธ์ง€ ํŒŒ์•…ํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ • ํ•˜๋Š”๋ฐ ๋„์›€ ๋œ๋‹ค.

 


[์˜ˆ์™ธ ํŽ˜์ด์ง€์˜ ๋‹จ์ ]
์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ๋ถˆ์พŒ๊ฐ + ์‹ ๋ขฐ๋„ ํ•˜๋ฝ
์ฝ”๋“œ๊ฐ€ ๋…ธ์ถœ๋˜์–ด ๋ณด์•ˆ๋„ ์ข‹์ง€์•Š์Œ


[ HTTP ์ฃผ์š” ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ]


1. 404: ์š”์ฒญํ•œ URL์„ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ.
2. 500: ์„œ๋ฒ„์ธก ๋‚ด๋ถ€ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ํŽ˜์ด์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ(java, JSP ํŽ˜์ด์ง€ ๋‚ด์˜ ์ฝ”๋“œ์˜ค๋ฅ˜)
3. 200: ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•จ.
4. 307: ์ž„์‹œ๋กœ ํŽ˜์ด์ง€๋ฅผ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•จ.
5. 400: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์ž˜๋ชป๋œ ๊ตฌ๋ฌธ์œผ๋กœ ์ž‘์„ฑ๋จ.
6. 405: ์š”์ฒญ ๋ฐฉ์‹์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ(GET, POST ๋“ฑ)
7. 503: ์„œ๋ฒ„๊ฐ€ ์ผ์‹œ์ ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์—†์Œ(์ผ์‹œ์  ์„œ๋ฒ„๊ณผ๋ถ€ํ•˜, ์„œ๋ฒ„ ์ž„์‹œ ๋ณด์ˆ˜ ๋“ฑ)


[ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ]

1. ์ง์ ‘ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ
์ž๋ฐ”์˜ ํ‚ค์›Œ๋“œ์ธ try ~ catch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ ‘ ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌ

 

 

 

 

2. ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ํŽ˜์ด์ง€๋ฅผ ๋”ฐ๋กœ ์ง€์ •ํ•˜๊ธฐ

  • JSP๋Š” ์‹คํ–‰ ๋„์ค‘ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ํ†ฐ์บฃ ๊ธฐ๋ณธ ์—๋Ÿฌํ™”๋ฉด ๋Œ€์‹  ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง€์ •ํ•œ JSPํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ.
  • ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ณด์—ฌ์ค„ JSPํŽ˜์ด์ง€๋Š” ํŽ˜์ด์ง€ ์ง€์‹œ์ž(directive)์˜ errorPage ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •ํ•œ๋‹ค.


(1) ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ํŽ˜์ด์ง€์— ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€ ์ง€์ •

(2) ์—๋Ÿฌ ๋ฐœ์ƒ์‹œ ์œ ๋„๋œ ํŽ˜์ด์ง€์—๋Š” ํŽ˜์ด์ง€ ์ง€์‹œ์žํƒœ๊ทธ๋กœ isErrorPage ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ true๋กœ ๊ฐ’์„ ์„ค์ •.

 

 

 

 

3. ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋ณ„๋กœ ์—๋Ÿฌ ํŽ˜์ด์ง€ ์ง€์ •ํ•˜๊ธฐ

  • JSP๋Š” ์—๋Ÿฌ ์ฝ”๋“œ๋ณ„๋กœ ์‚ฌ์šฉํ•  ์—๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ web.xml ํŒŒ์ผ ์ˆ˜์ •์„ ํ†ตํ•ด ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ์ง€์ •ํ•œ ์—๋ŸฌํŽ˜์ด์ง€๋Š” ์ผ๋ฐ˜ JSPํŒŒ์ผ๊ณผ ๋™์ผํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค

 

 




[ ์—๋Ÿฌ ํŽ˜์ด์ง€์˜ ์šฐ์„ ์ˆœ์œ„ ]
์—๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์œผ๋กœ ์ง€์ •ํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ์˜ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•  ์—๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

1. ํŽ˜์ด์ง€ ์ง€์‹œ์ž ํƒœ๊ทธ์˜ errorPage์†์„ฑ์— ์ง€์ •ํ•œ ํŽ˜์ด์ง€.
2. web.xml์— ์ง€์ •ํ•œ ์—๋Ÿฌ ํƒ€์ž…์— ๋”ฐ๋ฅธ ํŽ˜์ด์ง€.
3. web.xml์— ์ง€์ •ํ•œ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ์— ๋”ฐ๋ฅธ ํŽ˜์ด์ง€.
4. ์œ„ 3ํ•ญ๋ชฉ์— ํ•ด๋‹นํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ†ฐ์บฃ์ด ์ œ๊ณตํ•˜๋Š” ์—๋Ÿฌ ํŽ˜์ด์ง€.