[์์ธ ํ์ด์ง]
์์ธ ์ํฉ์ด ๋ฐ์ํ ๋,
์น ์ปจํ
์ด๋(ํฐ์บฃ)์์ ์ ๊ณต๋๋ ๊ธฐ๋ณธ์ ์ธ ์์ธํ์ด์ง๊ฐ ๋ณด์ฌ์ง๋ค.
์ด๋ฌํ ์์ธํ์ด์ง๋ ๊ฐ๋ฐ๊ณผ์ ์์ ์ด๋ค ์๋ฌ์ธ์ง ํ์
ํ๊ณ ์ค๋ฅ๋ฅผ ์์ ํ๋๋ฐ ๋์ ๋๋ค.
[์์ธ ํ์ด์ง์ ๋จ์ ]
์ฌ์ฉ์ ์
์ฅ์์๋ ๋ถ์พ๊ฐ + ์ ๋ขฐ๋ ํ๋ฝ
์ฝ๋๊ฐ ๋
ธ์ถ๋์ด ๋ณด์๋ ์ข์ง์์
[ 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ํญ๋ชฉ์ ํด๋นํ์ง ์์ ๊ฒฝ์ฐ ํฐ์บฃ์ด ์ ๊ณตํ๋ ์๋ฌ ํ์ด์ง.