์๋ฐ์ฝ๋์ html๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์๋ ๋๊ฐ์ง๊ฐ ์๋ค.
jsp - (์๋ฐ+html) ์ฝ๋ฉ์ ์๋์ ์ผ๋ก ์ฌ์ฐ๋ ํ์ ์ด ํ๋ฌ.
์๋ธ๋ฆฟ - ์๋ฐ์ฝ๋๋ฅผ ๋ง๋ค๊ณ out.print(html์ฝ๋)ํจ. ์ฝ๋ฉ์ด ์ด๋ ต๋ค
๋ชจ๋ธ 1๋ฐฉ์ : ๋ทฐ๊ฐ ๋ทฐ๋ฅผ ํธ์ถํ๋ ๋ฐฉ์ ๋จ)์ฃผ์๋ฅผ ๋ฐ๋ ํ๋์ ์ค์ฌ์๊ฐ ์์ด์ ํ์ผ๋ช ์ด ๋ง์์ง๋ฉด ๋ณต์กํ๋ค. ํ์ํ ์ฝ๋๊ฐ ํ๋์ ํ์ด์ง์ ์กด์ฌํ๋ค.
๋ชจ๋ธ2๋ฐฉ์(MVC):
๋๊ฐ์ง์ ์ฅ์ ์ ์์
ํ๋์ ์๋ธ๋ฆฟ ํ์ผ์ ๋ง๋ฌ. ์ปจํธ๋กค๋ฌ(=๋ผ์ฐํฐ, ์๋ธ๋ฆฟ์ผ๋ก ์์ฑ) ์ฟผ๋ฆฌ์คํธ๋ง์ ํ์ฑํ์ฌ ์ํ๋ ํ์ด์ง๋ก ๋ผ์ฐํ (ํธ์ถ)ํจ. ํธ์ถ๋ฐ์ ๋ทฐ๋ JSP๋ก ๊ตฌํ
์ฆ ์๋ธ๋ฆฟ์ ์ง์ ๋ก๋ก ์ฌ์ฉ ์ง์ ํ์ฌ ํ์ํ ํ์ด์ง๋ฅผ ํธ์ถํ๊ณ ํ์ํํ์ด์ง๋ JSP๋ก ๊ตฌํ๋จ ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด ๋ทฐ๋ก ๊ฐ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ฌ๊ณ ๊ฐ์์๋ค. ์ปจํธ๋กค๋ฌ์ DB๋ฅผ ์ฐ๊ฒฐํ์ฌ ์ปจํธ๋กค๊ฐ๋ฅํจ. ๊ทธ๋ ์ง์์ผ๋ฉด ๊ฐ ๋ทฐ์ DB๋ฅผ ์ฐ๊ฒฐํ๋ ์ฝ๋๊ฐ ์์ด์ผํ๋ค. ์ปจํธ๋กค๋ฌ๋ ๋๋น์์ ๋ฐ์ ๊ฒฐ๊ณผ๊ฐ์ ์๋ฐ๋ก์ง์ผ๋ก ์ฒ๋ฆฌํ์ฌ ๊ฒฐ๊ณผ๊ฐ๋ง ๋ฟ๋ ค์ค
JSP : java๋ก์ง, DB์ปค๋ฅ์ , ์์ค์ฝ๋, html(css,js) ์ด ํผ์ฌ๋์ด ์ฌ์ฉ๋์์ง๋ง, ๋ชจ๋ธ2๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ค. JSPํ์ผ์ html๋ง, ์๋ธ๋ฆฟ์ ์ปจํธ๋กค๋ฌ, ์๋ฐํ์ผ์ ๋ก์ง์ด ์กด์ฌ, JSPํ์ผ์ ์๋ฐํ์ผ์์ ์ฐ์ฐํ ๊ฒฐ๊ณผ๊ฐ๋ง์ ๋ฐ์์ ๋ฟ๋ ค์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
meta๊ฐ ์ค์ ๋ฐฐํฌ๋๋ ๊ณณ (org.eclipse.wst.server.core/tmp0/wtpwebapps/์คํธ์์ผฏ๋ ์๋ฒํ์ผ)
๋ค๋ฅธ๊ณณ์ ๊ทธ์ ์์ ๊ณต๊ฐ์ผ ๋ฟ
๊ฒ : ์ฃผ์ ๋ถ๋ฌ์ฃผ์ธ์
ํฌ์คํฐ : ๋ธ๋ ค๊ฐ๋๊ฑฐ
import.javax.setverlet ~~ java๊ฐ ์๋ javax๋ ํฐ์บฃ์ด ๊ฐ์ง๊ณ ์จ ํด๋์ค๋ค์ด๋ค. ๊ธฐ๋ณธ ํ๋ํจ์ค๋์ด์์. ๋ค๋ฅธ๊ณณ์์ ์ํฌํธํ ๋ ๋ฐ๋ก ์๋ฒ๋ฅผ ๋ง๋ ํ ๋ฐ๋ก ๋น๋ํจ์ค add library -> ์๋ฒ -> ์ํ์น
context path : Serverํ์ผ์ source์ ๋งจ ๋ง์ง๋งcontext path
์น๋ธ๋ผ์ฐ์ -> ์น์๋ฒ(์ํ์น) -> ์น์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ(์์ค) -> ์๋ธ๋ฆฟ ์ปจํ ์ด๋
- ํฐ์บฃ์ด ๋ฉ์ธ์ ๋ค๊ณ ์๋ค.(๊ฐ๋ฐ์๋ ๋ฉ์ธ์ ์ปจํธ๋กคํ์ง ๋ชปํจ. ํฐ์บฃ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ์๋๊ณ ํ๋ ์์ํฌ์ด๊ธฐ๋๋ฌธ์)
- ์๋ฒ๋ responesํ ์ฐ๊ฒฐ์ ๋๊ธฐ๋๋ฌธ์ ์ ๋ณด๊ฐ ๋จ์์์ง์๋ค. ์ด ์ ๋ณด๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด ์๋ฒ๋ ์๋ธ๋ฆฟ์ปจํ ์ด๋๋ฅผ ์์ฑํ์ฌ ์ค๋ ๋๋ฅผ ์์ฑ, ์๋ธ๋ฆฟ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค. ๊ทธ ์ค๋ ๋์ ๊ณ์ ์ฐ๊ฒฐ๋์ด ํธ์ถ ํจ
- ์ฌ์ฉ์๊ฐ ์๋ฒ๋ฅผ ํธ์ถํ ๋ ์๋ธ๋ฆฟ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง๊ณ ์ฌ์ฉ์์ ํต์ ํ๋ ์ค๋ ๋๊ฐ ์์ฑ๋๊ณ ์ฌ์ฉ์๊ฐ ํธํดํ ๋๋ง๋ค ๋ง๋ค์ด์ง ์ค๋ ๋์ ํต์ ํ๋ค ๋ฌดํํธ์ถ! ํน์ ์๊ฐ์ด ์ง๋๊ฐ๊ฑฐ๋ ์๋ธ๋ฆฟ์ ์์ ํ๊ฑฐ๋ ๊ฐ์ ๋ก desrory ํ๋ฉด ๊ทธ๋ ์ญ์ ๋๋ค.
response , request ํ ๋ charset ์ค์ ์ utf-8๋ก ๋ฐ๊ฟ(์ง๋ ฌํ)
- request.setCharacterEncoding("utf-8");
- response.setContentType("text/html;charset=utf-8");
์ฌ๊ธฐ์ text/html์ mimeํ์ , ์๋์์ ํ์ธํจ.
https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
-์ฌ์ฉ์๊ฐ ๋ฆฌํ์คํธํ๋ฉด ์ํ์น๋ jspํ์ผ์ธ๊ฐ๋ฅผ ํ์ธํ๊ณ ํฐ์ผ์ผ๋ก ๋๊น. ํฐ์ผ์ ์ ์ผ์ฒ์์ ๋์คํจ์ฒ๊ฐ ์ด๋ค ์๋ธ๋ฆฟ์ธ์ง ํ์ธํ์ง ์ผ๋จ์ ๋ค ๋์์ฑ ํ์ธํ๋ค. ๊ทธ๋์ ๋์คํจ์ฒ(web.xml) ์์ ์ธ์ฝ๋ฉ์ ์ฒ๋ฆฌํ๋ฉด ๊ฐ๊ฐ์ ์๋ธ๋ฆฟ์ ์ธ์ฝ๋ฉ์ค์ ์ ํ์ง์์๋๋๋ค. ํฐ์บฃ์ ๋ฌธ์ง๊ธฐ ๋์คํจ์ฒ web.xml
-web.xmlํ์ผ ๋ง๋ค์ด์ค
(tip/xmlํ์ผ์ ํํฌ์ ๊ท์น์ด์์ง๋ง ์ด๋ฉด ๋ซ์์ผํจ. JS->JAVA๋ก ๋๊ธธ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋์ ๊ฐ์ฒด๋ก ์๋ฐ๋ก ๋๊ธธ ์ ์๋ค. ํต์ ์ ์ํ ์ค๊ฐ๋ฐ์ดํฐ์ด๋ค.ํ์ผ์ด ๋ฌด๊ฑฐ์ด ๋จ์ ์ด ์์ด ์์ฆ์ json("key" : value,...์ )์ ์ฌ์ฉํ๋ค.)
* JSP request ํ๊ธ์ค์
1. web.xmlํ์ผ์ ํฐ์ผ์ ๋ค์ด์์ ๋ด ํ๋ก์ ํธ๊ฐ ์คํ๋๊ธฐ ์ ์
๊ฐ์ฅ ๋จผ์ ์คํ๋๋ ํํฐ๋ง ํ์ผ(๋ฌธ์ง๊ธฐ)
UTF-8 ์ธํ ์ ํ๋ฉด ๋๋ค
2. ํฐ์บฃ์๋ฒ์ ์๋ web.xmlํ์ผ์ ํน์ ip๋ฑ์ ์ฐจ๋จํ ์์๊ณ ๋ด ํ๋ก์ ํธ๋ก ์ค๋ฒ๋ผ์ด๋๊ฐ ๊ฐ๋ฅํ๋ค.
WebContent/WEB-INF/web.xml
=>WEB-INF ์ธ๋ถ์์ ์ ๊ทผ์ด ๋ถ๊ฐํ๋ค(๋ณด์ํด๋)
3. ์ค์ ์ธํ ํ๋ ๋ฐฉ๋ฒ
(๋ฆฌํ์คํธ ์ ์ญ์ค์ , ๋ฆฌ์คํฐ์ค๋ ์๋ตํ๋ ๊ณณ์ ๋ค ์ค์ ํด์ค์ผํจ.)
-----------------------------web.xml---------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
--------------------------------------------------------------------------------------
<url-pattern>/*</url-pattern>
- *์ ๋ชจ๋~~๋ฅผ ํฌํจํ๊ณ /cos* ๋ฑ์ผ๋ก๋ ์ค์ ๊ฐ๋ฅํ๋ค.
* JSP respones ํ๊ธ์ค์
1. MIME ํ์ ์ ์ฐธ๊ณ ํด์ ํ์ํ ๊ณณ๋ง๋ค ์ค์
2. ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
response.setContentType("text/html;charset=utf-8");
@WebServlet("/cos")
์๋๋ XML๋ก ๊ฑธ์๋๋ฐ ์๋ฐ1.5 ๋ฒ์ ๋ถํฐ ์ด๋ ธํ ์ด์ ์ผ๋ก ํ์ค๋ง ๊ฑธ๋ฉด ๋๋ค.
์ด๋ ค์ก
์ ๋ฆฌ
1. web.xml ์ ๋ฌธ์ง๊ธฐ, ํํฐ๋ง
2. http://localhost:8000/์ปจํ ์คํธํจ์ค/cos // cos๋ ์๋ธ๋ฆฟ ์ด๋ ธํ ์ด์ ์ด๋ฆ ULI ๋ฐฉ์
http://localhost:8000/์ปจํ ์คํธํจ์ค/home.html // ULI๋ฐฉ์
3. ์ปจํ ์คํธ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ ํ์ธํ๊ธฐ
4. ํฌํธ๋ณ๊ฒฝ๋ฐฉ๋ฒ ํ์ธํ๊ธฐ
5. view -> view๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉ ํ์ง์์.
v->์ปจํธ๋กค๋ฌ->v๋ฅผ ํตํด ํธ์ถํจ. ํ์ด์ง ํธ์ถ์ ๋ฌด์กฐ๊ฑด ์ปจํธ๋กค๋ฌ(์๋ธ๋ฆฟ)์ ํตํด
ํฌํธ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ
servers ์ web.xml์ ๊ธฐ์กด ํฌํธ๋ฒํธ ์ฐพ์์ ์์ ํ ๋ค์ ์๋ฒ๋ฅผ ์ด๋ฉด ํฌํธ๋ฒํธ๊ฐ ๋ณ๊ฒฝ๋๋ค.
0~1023:์์๋ ค์งํฌํธ well-Known ํฌํธ๋ก ์ด ์ธ๋ ํฌํธ๋ฒํธ ์์ ๋กญ๊ฒ ์ค์ ํ ์ ์๋ค.
'java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
jsp ๊ธฐ์ด (0) | 2020.10.30 |
---|---|
JSP ๊ธฐ๋ณธ๊ตฌ์กฐ (0) | 2020.10.30 |
์ฟผ๋ฆฌ์คํธ๋ง (0) | 2020.10.28 |
JSP-์์ํ๊ธฐ(2) (0) | 2020.10.28 |
JSP-์์ํ๊ธฐ(1) (0) | 2020.10.28 |