์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- redis ํ ์คํธ์ฝ๋
- docker ps -a
- prod docker-compose
- Entity
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- ์๋ฐ
- aws saa ํฉ๊ฒฉ
- private subnet ec2 ๋ก์ปฌ ์ ์
- ํ์ดํผ๋ฐ์ด์
- ํ๋ก๊ทธ๋๋จธ์ค
- docker compose
- Codedeploy ์ค๋ฅ
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- ์คํํ๋ ๋ฏธ์ค
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- AWS Certified Solutions Architect - Associate
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- nGrinder
- JPA
- @RestControllerAdvice
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- s3 log ์ ์ฅ
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- aws ์ฟ ํฐ
- docker
- docker-compose kafka
- redis ์กฐํ
- ๋ค์ค ์ปจํ ์ด๋
- Kafka
- Today
- Total
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
[Java] JSP, Directive ๋ณธ๋ฌธ
[Java] JSP, Directive
๐คRyusun๐ค 2022. 10. 27. 21:54JSP
JSP(Java Server Page)๋ Servlet์ ํ์ฅ๋ ๊ธฐ์ ๋ก ๋ธ๋ผ์ฐ์ ์ ํํํ๊ธฐ ์ํ HTML์ฝ๋์ JAVA ์ฝ๋๋ฅผ ํผ์ฉํ์ฌ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค. ์ด๋ก์จ ๋์์ธ๊ณผ ๋ก์ง ๊ฐ๋ฐ์ ๋ถ์ ํ์์ผ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์์ฐํด ๋ผ ์ ์๊ฒํ๋ค.
JSP ๊ธฐ๋ณธ๋ฌธ๋ฒ ๋ฐ ์ฉ์ด
- <%! ์ ์ธ๋ถ %> -> ์ ์ญ๋ณ์, ํจ์
- <% ์คํฌ๋ฆฝ๋ฆฟ %> -> ์ฝ๋ฉ, ์ง์ญ๋ณ์
- <%=์ถ๋ ฅ๋ถ %> ->๋ฌธ์์ด, ๋ณ์๊ฐ, ํจ์๋ฆฌํด๊ฐ ์ถ๋ ฅ
- <%-- JSP์ฃผ์ --%>
- <%@ ์ง์์ >
- <%@ page %> ๋ ํด๋น jspํ์ด์ง์์ ์ด๋ค ๋ฌธ์๋ฅผ ์์ฑํ๋์ง, ์ด๋ค ์๋ฐ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋์ง, ์ธ์
์ ์ฐธ์ฌํ๋์ง, ์ถ๋ ฅ ๋ฒํผ์ ์กด์ฌ์ฌ๋ถ๋ฑ jspํ์ด์ง๋ฅผ ์คํํ๋๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค.
- (ex)
- <%@ page isErrorPage = "true" %> = exception์ ํธ๋ค๋งํ๊ธฐ์ํด ๋ง๋ ์๋ฌํ์ด์ง์ด๋ค ๋ผ๊ณ ์ ์ธ๋ฌธ. ํด๋น ํ์ด์ง๋ฅผ ์๋ฌํ์ด์ง๋ผ๊ณ ์ ์ธํ๊ฒ ๋๋ฉด์ exception๊ฐ์ฒด๊ฐ ์ด๊ณ ์๋ค. ๊ทธ๋์ exception.getMessage๋ฅผ ํธ์ถํ ์์๋ค. (500, 404 ์ค๋ฅ)
MIME
Multipurpose Internet Mail Extensions์ ์ฝ์๋ก ๊ฐ๋จํ ๋งํ๋ฉด ํ์ผ ๋ณํ์ ์๋ฏธํ๋ค.ํ์ฌ๋ ์น์ ํตํด ์ฌ๋ฌ ํํ์ ํ์ผ์ ์ ๋ฌํ๋๋ฐ ์ฌ์ฉํ๊ณ ์์ง๋ง ์ด ์ฉ์ด๊ฐ ์๊ธธ ๋ ์ด๋ฉ์ผ๊ณผ ํจ๊ป ๋๋ดํ ํ์ผ์ ํ ์คํธ ๋ฌธ์๋ก ์ ํํด์ ์ด๋ฉ์ผ ์์คํ ์ ํตํด ์ ๋ฌํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์ด Internet Mail Extensions๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ ์์ํ๋ค๊ณ ํ๋ค.
๋ฐ์ด๋๋ฆฌ ํ์ผ
๋ฐ์ด๋๋ฆฌ ํ์ผ์ ๋ฐ์ดํฐ์ ์ ์ฅ๊ณผ ์ฒ๋ฆฌ๋ฅผ ๋ชฉ์ ์ผ๋ก 0๊ณผ 1์ ์ด์ง ํ์์ผ๋ก ์ธ์ฝ๋ฉ๋ ํ์ผ์ ๊ฐ๋ฆฌํจ๋ค. ํ๋ก๊ทธ๋จ์ด ์ด ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ๋๋ ๋ฐ์ดํฐ์ ์ด๋ ํ ๋ณํ๋ ์ผ์ด๋์ง ์๋๋ค. ํ ์คํธ ํ์ผ์ ์ฌ๋์ด ์์๋ณผ ์ ์๋ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ํ์ผ์ ๊ฐ๋ฆฌํจ๋ค.
index.jsp
๋ด๋ถ์ ์ผ๋ก ์ฒ์ ์๋ฒ๊ฐ ๋๊ฒ ๋๋ฉฐ ์คํํ๋ ํ์ผ
JSPํ์ด์ง์์ ํน์ ์์ ์ ์ํํ ํ ์ง์ ํ ํ์ด์ง๋ก ์ด๋ํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค. ์ผ๋ฐ์ ์ผ๋ก if๋ฌธ๊ณผ ํจ๊ป ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ์ ๋ response.sendRedirect("main.jsp); ํน์ ํ์ด์ง๋ก ์ด๋ํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ๋๋ค. ์๋ ์ฝ๋์์ board ์๋ธ๋ฆฟ์ ๋งตํํ์ฌ command์ loginform ๋ฌธ์์ด์ ๋ณด๋ผ ๋ ๋ก๊ทธ์ธ ํ์ด์ง์ ์ก์ ์ด ์ํ๋๋๋ก ํ๋ค.
โญ Implicit Object
- ํ๋ก๊ทธ๋๋ฐ ๋จ์ํ์ํค๊ธฐ ์ํด ๋ณ๋ค๋ฅธ ์ ์ธ์์ด ๋ด์ฅ๋ ๊ฐ์ฒด
- JSP ์ปจํ ์ด๋ (catalina) ์ ๊ณต
- ๊ฐ์ฒด ์ข
๋ฅ
- request
- ์ฌ์ฉ์ ์์ฒญ์ ๋ํ ์ ๋ณด ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ฒด
- javax.servlet.http.HttpServletRequest
- response
- ์๋ฒ์ ์๋ต์ ๋ํ ์ ๋ณด ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ฒด
- javax.servlet.http.HttpServletResponse
- out
- JSP ํ์ด์ง์ ์ถ๋ ฅํ ๋ด์ฉ์ ๊ฐ์ง๊ณ ์๋ ์ถ๋ ฅ ์คํธ๋ฆผ ๊ฐ์ฒด
- javax.servlet.jsp.jsp.jspWriter
- out.print(), out.println()
- exception
- JSP ํ์ด์ง์์ ์์ธ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์์ธ ์ฒ๋ฆฌ ๊ฐ์ฒด
- java.lang.Throwable
- application
- ์น ์ดํ๋ฆฌ์ผ์ด์ Context์ ์ ๋ณด ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด
- java.servlet.ServletContext
- session
- ํ๋์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ธ์ ์ ๋ณด ์ ์ฅํ๋ ๊ฐ์ฒด
- javax.servlet.http.HttpSession
- pageContext
- JSP ํ์ด์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ๊ฐ์ฒด
- javax.servlet.jsp.PageContext
- page
- JSP ํ์ด์ง๋ฅผ ๊ตฌํํ ์๋ฐ ํด๋์ค ๊ฐ์ฒด
- java.lang.Object
- this๋ฅผ ํตํด ์ ๊ทผ ๊ฐ๋ฅ
- config
- JSP ํ์ด์ง์ ๋ํ ์ค์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ๊ฐ์ฒด
- javax.servlet.ServletConfig
- request
- ๊ฐ์ฒด ์์ญ
- page ์์ญ
- ํ ๋ฒ์ ํด๋ผ์ด์ธํธ ์์ฒญ์ด ์ค๋ฉด, ํ๋์ JSP ํ์ด์ง๊ฐ ์๋ต
- page ์์ญ์ ์ด ๋ ํ๋์ JSP ํ์ด์ง ๋ด์์๋ง ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๋ ์์ญ ์๋ฏธ ( JSP only )
- JSP ํ์ผ์๋ pageContext๊ฐ ๋ด์ฅ๋จ
- ์ด ๊ฐ์ฒด๋ page ์์ญ์์๋ง ์ ํจํจ
- JSP ํ์ผ์ <% %> ์์ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ๋ณ์๋ ํด๋น JSP ํ์ผ ๋ด์์๋ง ์ ํจํ๋ฐ, page ์ค์ฝํ์ ์ ์๋ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ
- request ์์ญ
- ์์ฒญ์ ๋ฐ์์ ์๋ตํ๊ธฐ๊น์ง ๊ฐ์ฒด๊ฐ ์ ํจํ ์์ญ
- Servlet์์ forward ๋๋ include๋ฅผ ์ฌ์ฉํ๋ฉด request ์์ฒญ ๊ฐ์ฒด๊ฐ ๊ณต์ ๋์ด์ request ์์ญ
- request ๊ฐ์ฒด ์ฌ์ฉ ์์
- Servlet์์๋ reqeust.setAttribute("์ด๋ฆ", ๊ฐ์ฒด); ๋ก ์ ๋ฌํ๊ณ
- JSP์์๋ Obejct ob j = request.getAttribute("์ด๋ฆ"); ์ผ๋ก ๋ฐ์
- session ์์ญ
- ํ๋์ ๋ธ๋ผ์ฐ์ ๋น 1๊ฐ์ session ๊ฐ์ฒด๊ฐ ์์ฑ๋ค
- ์ฆ, ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ด์์ ์์ฒญ๋๋ ํ์ด์ง๋ค์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๊ฒ ๋๋๋ฐ, ์ด๋ฅผ ์ธ์ ์์ญ์ด๋ผ๊ณ ํจ
- ์ธ์ ์ด ์ข ๋ฃ๋๋ฉด ๊ฐ์ฒด ๋ฐํ
- requset.getSession() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์ธ์ ์์ญ์ ๊ฐ์ฒด๋ฅผ ์ป์
- application ์์ญ
- ํ๋์ ์น ์ดํ๋ฆฌ์ผ์ด์ ๋น 1๊ฐ์ application ๊ฐ์ฒด๊ฐ ์์ฑ
- ์ฆ, ๊ฐ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ๋ด์์ ์์ฒญ๋๋ ํ์ด์ง๋ค์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๊ฒ ๋๋๋ฐ ์ด๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์์ญ์ด๋ผ๊ณ ํจ
- ์น ์ดํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ๋๋ฉด ๊ฐ์ฒด๋ ๋ฐํ
- page ์์ญ
login.jsp & session.jsp
โญ Directive
- ์ง์์
- JSP ํ์ด์ง๊ฐ ์คํ๋ ๋ ํ์ํ ์ ๋ณด๋ฅผ JSP ์ปจํ ์ด๋์๊ฒ ์๋ฆฌ๋ ์ญํ
- ์ข
๋ฅ
- page
- <%@page... %>
- ํ์ด์ง ์ ๋ณด๋ฅผ ์๋ ค์ค
- info
- ํ์ฌ JSP ํ์ด์ง์ ๋ํ ์ค๋ช
- language
- ํ์ฌ JSP ํ์ด์ง๊ฐ ์ฌ์ฉํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ค์
- ๊ธฐ๋ณธ๊ฐ - java
- contentType
- ํ์ฌ JSP ํ์ด์ง๊ฐ ์์ฑํ ๋ฌธ์์ ์ฝํ ์ธ ์ ํ ์ค์
- MIME ํ์์ผ๋ก ๋ธ๋ผ์ฐ์ ์๊ฒ ์๋ฆผ
- MIME - ์ธํฐ๋ท ํ์ค์ ํ๋๋ก ์์คํคํ์ ์ธ์ ํ ์คํธ ๋ฐ ํ์์ด๋ ์์ฑ ๋ฑ์ ๋ฉํฐ๋ฏธ๋์ด ๋ฐ์ดํฐ๋ฅผ ์์คํค ํ์์ผ๋ก ๋ณํํ ํ์์์ด ์ธํฐ๋ท ์ ์์ฐํธ์ผ๋ก ์ก์ ํ๊ธฐ ์ํ ๊ฐ์ด ์ ์ ์ฐํธ ์ ์ก ํ๋กํ ์ฝ (SMTP)์ ํ์ฅ ๊ท๊ฒฉ
- ๊ธฐ๋ณธ๊ฐ - text/html
- text/plain, text/xml ...
- ํด๋น ํ์ด์ง๋ฅผ ํด๋ผ์ด์ธํธ (๋ธ๋ผ์ฐ์ )์๊ฒ ์ ๋ฌํ ๋ ์ด๋ค ํ์์ผ๋ก ๋ณด์ฌ์ค ๊ฒ์ธ์ง ํ์ ์ง์
- meta charset (contentType charset > meta charset)
- pageEncoding
- ํ์ฌ JSP ํ์ด์ง์์ ์ฌ์ฉ๋๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ์ ์ฅ
- ๊ธฐ๋ณธ๊ฐ - ISO-8859-1
- import
- ํ์ฌ JSP ํ์ด์ง๊ฐ ์ฌ์ฉํ ์๋ฐ ํด๋์ค / ํจํค์ง ์ด๋ฆ
- session
- ํ์ฌ JSP ํ์ด์ง์ ์ธ์ ์ฌ์ฉ ์ฌ๋ถ ์ค์
- ๊ธฐ๋ณธ๊ฐ - true
- buffer
- ํ์ฌ JSP ํ์ด์ง์ ์ถ๋ ฅ ๋ฒํผ ํฌ๊ธฐ ์ค์
- ๊ธฐ๋ณธ๊ฐ- 8KB
- autoFlush
- ์ถ๋ ฅ ๋ฒํผ์ ๋์ ์ ์ด ์ค์
- ๊ธฐ๋ณธ๊ฐ - true
- isThreadSafe
- ํ์ฌ JSP ํ์ด์ง์ ๋ฉํฐ์ค๋ ๋ ํ์ฉ ์ฌ๋ถ ์ค์
- ๊ธฐ๋ณธ๊ฐ - true
- errorPage
- ํ์ฌ JSP ํ์ด์ง์์ ์ค๋ฅ ๋ฐ์์ error handling ํ์ด์ง ์ง์
- isErrorPage
- ํ์ฌ JSP ํ์ด์ง๊ฐ error handling์ ์ํ ํ์ด์ง์ธ์ง ์ฌ๋ถ ์ง์
- ๊ธฐ๋ณธ๊ฐ - false
- include
- <%@include file="…"%>
- ์ฌ๋ฌ jsp ํ์ด์ง์์ ๊ณตํต์ ์ผ๋ก ํฌํจ ๋ด์ฉ์ด ์์ผ๋ฉด ๋ณ๋ ํ์ผ ์ ์ฅํ๊ณ ํฌํจ
- ์์ค์ฝ๋ ์์ฒด๊ฐ ํฌํจ๋๊ธฐ ๋๋ฌธ์ ๋ณ์ ์ค๋ณต ์ ์ธ ๋ถ๊ฐํจ
- <%@include file="header.jsp"%>
- <%@include file="footer.jsp"%>
- ๐ action tag๋ฅผ ํตํด ๋ณ๋ ํ์ผ ํฌํจ์ํฌ ์๋ ์์
- page
'๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป > ๐๐๐ฏ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ & ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ (0) | 2024.04.11 |
---|---|
[Java] Action Tag (0) | 2022.10.28 |
[Java] PriorityQueue (0) | 2022.10.19 |
[Java] Generic Method ์ ๋ค๋ฆญ ๋ฉ์๋ (0) | 2022.10.12 |
[Java] ์บก์ํ (0) | 2022.10.07 |