ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ JSP(Java Server Page)๋
JSP๋ Java Server Page์ ์ฝ์๋ก, HTML ์ฝ๋์ JAVA ์ฝ๋๋ฅผ ๋ฃ์ด ๋์ ์นํ์ด์ง๋ฅผ ์์ฑํ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ๋๊ตฌ์ ๋๋ค. JSP๊ฐ ์คํ๋๋ฉด ์๋ฐ ์๋ธ๋ฆฟ(Servlet)์ผ๋ก ๋ณํ๋๋ฉฐ ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ์์ ๋์๋๋ฉด์ ํ์ํ ๊ธฐ๋ฅ์ ์ํํ๊ณ ๊ทธ๋ ๊ฒ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์นํ์ด์ง์ ํจ๊ป ํด๋ผ์ด์ธํธ๋ก ์๋ตํฉ๋๋ค.
JSP ๋์ ๊ณผ์
- ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ์ JSP์ ๋ํ ์์ฒญ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค
- ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒญํ JSP๊ฐ ์ต์ด๋ก ์์ฒญํ์ ๊ฒฝ์ฐ๋ง JSP๋ก ์์ฑ๋ ์ฝ๋๊ฐ ์๋ธ๋ฆฟ ์ฝ๋๋ก ๋ณํ๋๋ค(javaํ์ผ ์์ฑ)
- ์๋ธ๋ฆฟ ์ฝ๋๋ฅผ ์ปดํ์ผํด์ ์คํ ๊ฐ๋ฅํ bytecode๋ก ๋ณํํ๋ค(class ํ์ผ ์์ฑ)
- ์๋ธ๋ฆฟ์ด ์คํ๋์ด ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์๋ต ์ ๋ณด๋ฅผ ์์ฑํ๋ค.
์๋ธ๋ฆฟ(Servlet)
์๋ธ๋ฆฟ(Servlet)์ด๋ ๋์ ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ๋๋ ์๋ฐ ๊ธฐ๋ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ๋๋ค. ์๋ธ๋ฆฟ์ ์น ์์ฒญ๊ณผ ์๋ต์ ํ๋ฆ์ ๊ฐ๋จํ ๋ฉ์๋ ํธ์ถ๋ง์ผ๋ก ์ฒด๊ณ์ ์ผ๋ก ๋ค๋ฃฐ ์ ์๊ฒ ํด์ค๋๋ค.
์๋ธ๋ฆฟ์ ์๋ฒ์์ ์คํ๋๋ค๊ฐ ์น ๋ธ๋ผ์ฐ์ ์์ ์์ฒญ์ ํ๋ฉด ํด๋น ๊ธฐ๋ฅ์ ์ํํ ํ ์น ๋ธ๋ผ์ฐ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์กํฉ๋๋ค. ์ฝ๊ฒ ์๋ฅผ ๋ค์ด ๋ก๊ทธ์ธ ์๋๋ฅผ ํ ๋, ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์์ ์ ๋ ฅ๋๋ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์๋ตํ๋๋ฐ ์ด๋ฌํ ์ญํ์ ์ํํ๋ ๊ฒ์ด ์๋ธ๋ฆฟ์ด๋ค.
์๋ธ๋ฆฟ(Servelt)์ ์ฃผ์ ํน์ง
- ํด๋ผ์ด์ธํธ์ Request์ ๋ํด ๋์ ์ผ๋ก ์๋ํ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ปดํฌ๋ํธ
- ๊ธฐ์กด์ ์ ์ ์น ํ๋ก๊ทธ๋จ์ ๋ฌธ์ ์ ์ ๋ณด์ํ์ฌ ๋์ ์ธ ์ฌ๋ฌ๊ฐ์ง ๊ธฐ๋ฅ์ ์ ๊ณต
- JAVA์ ์ค๋ ๋๋ฅผ ์ด์ฉํ์ฌ ๋์
- MVC ํจํด์์ ์ปจํธ๋กค๋ฌ๋ก ์ด์ฉ๋จ
- ์ปจํ ์ด๋์์ ์คํ
- ๋ณด์ ๊ธฐ๋ฅ์ ์ ์ฉํ๊ธฐ ์ฌ์
์๋ธ๋ฆฟ์ ๋์๊ณผ์
ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์ ์์ฒญํ๋ฉด ์น ์๋ฒ๋ ๊ทธ ์์ฒญ์ ํฐ์บฃ๊ณผ ๊ฐ์ WAS์ ์์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด WAS๋ ๊ฐ ์์ฒญ์ ํด๋นํ๋ ์๋ธ๋ฆฟ์ ์คํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ธ๋ฆฟ์ ์์ฒญ์ ๋ํ ๊ธฐ๋ฅ์ ์ํํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ์ฌ ํด๋ผ์ด์ธํธ์ ์ ์กํฉ๋๋ค.
1. ํด๋ผ์ด์ธํธ ์์ฒญ
2. HttpServletRequest, HttpServletResponse ๊ฐ์ฒด ์์ฑ
3. Web.xml์ด ์ด๋ ์๋ธ๋ฆฟ์ ๋ํด ์์ฒญํ ๊ฒ์ธ์ง ํ์
4. ํด๋นํ๋ ์๋ธ๋ฆฟ์์ service() ๋ฉ์๋ ํธ์ถ
5. doGet() ๋๋ doPost() ํธ์ถ
6. ๋์ ํ์ด์ง ์์ฑ ํ ServletResponse ๊ฐ์ฒด์ ์๋ต ์ ์ก
7. HttpServletRequest, HttpServletResponse ๊ฐ์ฒด ์๋ฉธ
์๋ธ๋ฆฟ ๋ฑ๋ก with web.xml
์ด๋ค ํ๋ก๊ทธ๋จ์ด๋ ํน์ ํ์ผ์ ์ ๊ทผํ๋ ค๋ฉด ๊ฒฝ๋ก๊ฐ ํ์ํฉ๋๋ค. ์น๋ธ๋ผ์ฐ์ ๊ฐ ์น์๋ฒ์๊ฒ ์์ฒญ(Request)์ ํ ๋, Servlet์ด ํ์ํ๋ค๋ฉด ํด๋น Servlet์ด ์์นํ ๊ฒฝ๋ก๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฝ๋ก๋ ๊ฐ์๊ฒฝ๋ก์ด์ด์ผ ํฉ๋๋ค. ์๋ํ๋ฉด Servlet์ ์๋ฒ์ ๋ด๋ถ ๋ก์ง์ด๊ธฐ ๋๋ฌธ์ ์ค์ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋ฉด ๊ทธ ๋ด๋ถ ๋ก์ง์ ๋ ธ์ถ์ํค๋ ์ผ์ด ๋ฉ๋๋ค.
Dynamic Web Project๋ฅผ ์์ฑํ๋ฉด ์๊ธฐ๋ WEB-INF ํด๋๋ ์๋ฒ๋ง์ด ์ ๊ทผ ๊ฐ๋ฅํ ์์ญ์ ๋๋ค. ์ด ์์ ์ ์ฅ๋์ด ์๋ ํ์ผ์ ์ผ๋ฐ์ ์ธ ๊ฒฝ๋ก๋ก ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋๋ก ์ฝ์๋์ด ์์ต๋๋ค. Servlet ํ์ผ์ WEB-INF ์ classes ํด๋ ์์ ์ ์ฅ๋๊ธฐ๋ก ์์ฝ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ WEB-INF ํด๋์ ๋ง๋ ๋ชจ๋ ํ์ผ์ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ฐ๋๋ก WEB-INF ๋ฐ์ ํ์ผ์ ์์น์ํค๋ฉด ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก WEB-INF ํด๋ ์์ Servlet์ ์ ๊ทผํ๋ ค๋ฉด ๊ฐ์ง๊ฒฝ๋ก๋ฅผ ๋ง๋ค์ด์ฃผ์ด์ผ ํฉ๋๋ค. ์ง์ง ๊ฒฝ๋ก๋ ์จ๊ธฐ๊ณ ๊ฐ์ง ๊ฒฝ๋ก๋ฅผ ๋ง๋ค์ด, ์ค๋ก์ง ์๋ฒ๋ง์ด ์ง์ง ๊ฒฝ๋ก์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด ์ธ๋ถ ์ ๊ทผ์ผ๋ก๋ถํฐ ์๋ฒ์ ๋ก์ง์ ๋ณดํธํ๋ ๊ฒ์ ๋๋ค.
์ด๋ ๊ฐ์ง ๊ฒฝ๋ก(๊ฐ์ ๊ฒฝ๋ก)๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ธ web.xml์ ๋ํด ์์๋ด ์๋ค.
WEB-INF์ ๋ค์ด๊ฐ๋ฉด web.xml์ด๋ผ๋ ํ์ผ์ด ์์ต๋๋ค. web.xml ํ์ผ์์ ์๋ธ๋ฆฟ ํด๋์ค์ ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ๋งคํํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ค์ ์๋ธ๋ฆฟ์ ๋ฑ๋กํด์ค๋ค๋ ๊ฒ์ ์ฐ์ฐ์ ํด์ค ํด๋์ค๋ฅผ ์ง์ ํด์ค๋ค๋ ๊ฒ์ผ๋ก ์ดํดํ๊ณ web.xml์ ์์ฑํด๋ด ์๋ค.
๐ WebContent/WEB-INF/web.xml ํ์ผ
<servlet>
<servlet-name>Oper></servelt-name>
<servlet-class>com.task.app.Oper></servlet-class>
</servelt>
<servlet-mapping>
<servlet-name>Oper</servlet-name>
<url-pattern>/Oper</url-pattern>
</servlet-mapping>
<servlet-class>์๋ ์๋ธ๋ฆฟ ๊ฒฝ๋ก๋ฅผ ๋ฃ์ด์ค๋๋ค. <url-pattern>์ ํตํด ์ํ๋ ๊ฐ์๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ค๋๋ค. <servlet-name>์ ๋๋ค์์ผ๋ก ์ด๋ฅผ ํตํด .xml ์์์ ์ํต์ด ์ด๋ฃจ์ด์ง๋๋ค.
์ด๋ ๊ฒ ์๋ธ๋ฆฟ์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฐ์ ๊ฒฝ๋ก๊ฐ ์ง์ ๋์์ต๋๋ค. web.xml ํ์ผ์ ์๋ฒ๊ฐ ์์๋ ๋ ๊ฐ์ด ๋ก๋ฉ๋๊ธฐ ๋๋ฌธ์, ์๋ฒ๋ฅผ ๊ป๋ค์ผ์ผ
'๋ฐฑ์๋ > JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JSP] ๋ก๊ทธ์ธ, ํ์๊ฐ์ , ์์ด๋ ์ค๋ณต๊ฒ์ฌ ๊ธฐ๋ฅ ๊ตฌํํด๋ณด๊ธฐ (0) | 2023.04.20 |
---|---|
[JSP] MVC ํจํด์ด๋? (0) | 2023.04.20 |
[JSP] ์๋ธ๋ฆฟ(Servlet)์ด๋ ? (0) | 2023.04.19 |
[JSP] MyBatis๋ ? (0) | 2023.04.19 |
[JSP] JSP๋ก ์ฌ์น์ฐ์ฐ ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ (0) | 2023.04.19 |
- Total
- Today
- Yesterday
- JSP
- react
- ์คํ์ผ ์ปดํฌ๋ํธ styled-components
- ํ์ ์คํฌ๋ฆฝํธ
- ๋ํ๋ง
- testing
- Python
- ๋ฅ๋ฌ๋
- TypeScript
- ๋ฆฌ์กํธ
- CSS
- styled-components
- HTML
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ์ด์ฌ
- ํ๋ก ํธ์๋
- ์๋ฐ
- ๋จธ์ ๋ฌ๋
- react-query
- ํ๋ก์ ํธ ํ๊ณ
- ์ธํ๋ฐ
- ๋ฆฌ์กํธ ํ
- next.js
- frontend
- jest
- ํ๋ก ํธ์๋ ๊ธฐ์ด
- ํ๋ก ํธ์๋ ๊ณต๋ถ
- rtl
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด
- ๋ฐ์ดํฐ๋ถ์
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |