2022 01 30 - oneso123456789/2022 GitHub Wiki
WAS์ ๊ตฌ๋ ์ค ๊ฐ์ฅ ํํ ์๋ฌ์ ๊ด๋ จ HTTP ์ํ ์ฝ๋๋ 404&500 ์๋ฌ์ฝ๋์
500 ๋ฉ์์ง๋ Internal Server Error
์ด๋ฏ๋ก @ExceptionHandler๋ฅผ
์ด์ฉํด์ ์ฒ๋ฆฌ๋์ง๋ง,
์๋ชป๋ URL์ ํธ์ถํ ๋ ๋ณด์ด๋ 404 ์๋ฌ ๋ฉ์์ง์ ๊ฒฝ์ฐ ์กฐ๊ธ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌ
ํ๋๊ฒ์ด ์ข์
์๋ธ๋ฆฟ์ด๋ JSP๋ฅผ ์ด์ฉํ๋ ๊ฐ๋ฐ ์์๋ web.xml์ ์ด์ฉํด์ ๋ณ๋์ ์๋ฌ
ํ์ด์ง๋ฅผ ์ง์ ํ ์ ์์
์๋ฌ ๋ฐ์ ์ ์ถ๊ฐ์ ์ธ ์์
์ ํ๊ธฐ๋ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์คํ๋ง์ ์ด์ฉํด์
404์ ๊ฐ์ด WAS ๋ด๋ถ์์ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์์๋๋ ๊ฒ์ด ์ข์
์คํ๋ง MVC์ ๋ชจ๋ ์์ฒญ์ DispatcherServlet์ ์ด์ฉํด์ ์ฒ๋ฆฌ๋๋ฏ๋ก
404 ์๋ฌ๋ ์ฒ๋ฆฌํ ์ ์๋๋ก web.xml์ ์์ ํฉ๋๋ค
web.xml์ servlet์ค์ ์๋์ init-paramํ๊ทธ๋ก
<param-name>throwExceptionIfNoHandlerFound</param-name>
<param-value>true</param-value>
๋ด์ฉ ์ถ๊ฐํจ
ํผ๋ธ๋ฆญํ handler404()๋ฉ์๋ ์์ฑ ๋ฆฌํด ํ์
์ String ํ๋ผ๋ฏธํฐ๋
NoHandlerFoundExcetpion์ผ๋ก ๋ง๋ฌ
@ExceptionHandler์ด๋
ธํ
์ด์
์ผ๋ก NoHandlerFoundException.class์ง์
@ResponseStatus์ด๋
ธํ
์ด์
์ผ๋ก HttpStatus.NOT_FOUND์์ฑ ์ฌ์ฉํด์
HTTP์ ์ํ๋ฅผ NOT_FOUND ์ํ๋ก ๋ฐ๊ฟ์ค
๋ฆฌํด ๊ฐ์ "custom404"
๋๊น custom404.jspํ์ด์ง ์์ฑํด์ค
ํ๊ทธ ์์ ํ๊ณ UTF-8๋ก ์ธ์ฝ๋ฉ ํด์คํ ๋ณด๋์ h1ํ๊ทธ๋ก ํด๋น URL์ ์กด์ฌ
ํ์ง ์์ต๋๋ค ๋ฃ์ด์ค