[Day10] JSP/Servlet 10 [12/15]
[ ์ง๋์๊ฐ filter ์ด์ด์]
์ธ์ฆ๊ถํ์์
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>com.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<!-- <url-pattern>/</url-pattern> ์์ ํจํด๊ณผ ์ฐจ์ด์ . -->
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<listener>
<listener-class>com.listener.DBCPinitListener</listener-class>
</listener>
<context-param>
<param-name>poolConfig</param-name>
<param-value>
type=javax.sql.DataSource
driverClassName=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:xe
username=scott
password=tiger
</param-value>
</context-param>
1. [ web.xml ] -> ๋ณต์ฌ ๋ถ์ด๊ฐ -> web_days09_filter.xml
2. days10 ํด๋
ใด admin ํด๋ : ๊ด๋ฆฌ์๋ก ๋ก๊ทธ์ธํด์ผ์ง๋ง ์ฌ์ฉํ ์ ์๋ ํด๋. ( ์ธ์ฆ O + ๊ถํ O)
ใด board ํด๋ : ๊ฒ์ํ ๋ชฉ๋ก,์ฐ๊ธฐ,์์ ,์ญ์ ํด๋ ( ๋ฐ๋์ ๋ก๊ทธ์ธํด์ผ์ง๋ง ์ฌ์ฉํ ์ ์๋ค. ์ธ์ฆ O)
ex02_list.jsp ๋ชฉ๋ก
ex02_write.jsp ์ฐ๊ธฐ
ใด member ํด๋ : ๋ก๊ทธ์ธ/๋ก๊ทธ์์/ํ์๊ฐ์ ๋ฑ๋ฑ ํ์ ๊ด๋ จ๋ ํด๋ ( ์ธ์ฆ X)
ex02_logon.jsp
ex02_logon_ok.jsp
ex02_logout.jsp
3. ๋ง์ฝ์ ๋ก๊ทธ์ธ์ ํ์ง ์๊ณ board ํด๋ ์์ ex02_list.jsp ์์ฒญ X
=>
4. ์ธ์ฆ, ๊ถํ ์ฒดํฌํ๋ ํํฐ ์ถ๊ฐ.
com.filter.LoginCheckFilter.java + ์ด๋ ธํ ์ด์ ์ฌ์ฉ.
doFilter(){
์ธ์ member => logonID ๋ณ์ ์ ์ฅ
isLogon = false; // true
if(isLogon ){
chain.doFilter()~
}else{
// ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ
}
}
(๋ฌธ์ ์ )
๋ฉ์ธํ์ด์ง์์
๋ก๊ทธ์ธํ์ง ์์ ์ํ์ "๊ฒ์๊ธ ์ฐ๊ธฐ" ๋ฒํผ์ ํด๋ฆญํ๋ฉด
LoginCheckFilter ํํฐ์ ์ํด์
๋ก๊ทธ์ธ X -> ex02_logon.jsp ํ์ด์ง๋ก ์ด๋.
๋ก๊ทธ์ธํ์ด์ง์์ ๋ก๊ทธ์ธ ์ฑ๊ณตํ๋ฉด
๋ฉ์ธํ์ด์ง๋ก ์ด๋
์๋ ์์ฒญํ "๊ฒ์๊ธ ์ฐ๊ธฐ" ํ์ด์ง๋ก ์ด๋.. O ex02_write.jsp
(ํด๊ฒฐ) 11:27 -> 10๋ถ - > 11:37 ํ์ด~
(์์ฒญ ์ฒ๋ฆฌ ๊ณผ์ ์ดํด)
[ /board/* ] url-pattern ์์ฒญ -> LoginCheckFilter
list.jsp ์ธ์ฆ O ์ฒดํฌ -> list.jsp , write.jsp ์ด๋.
write.jsp [ ์ธ์ฆ X ์ฒดํฌ -> logon.jsp ] -> ex02.jsp( ๋ฉ์ดํ์ด์ง) ์ด๋
write.jsp (2) ์๋์์ฒญURL ๋ฆฌ๋ค์ด๋ ํธ -> list.jsp , write.jsp ์ด๋ ( ์ ์ํ ๋ฌธ์ .. )
(1)[์๋์์ฒญURL ์ ์ฅ]
์ํ๊ด๋ฆฌ
pS X/rS X/[ (sS)/aS ]
DB
์ฟ ํค
[ p 572 Chapter 20 ServletContextListener ๊ตฌํ ]
"์๋ธ๋ฆฟ"์ ๋ฐ์ํ๋ ์ด๋ฒคํธ์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ธํฐํ์ด์ค ์ ์ํ๊ณ ์๋ค.
ใด ์ด๊ธฐํ, ์์ฒญ ์ฒ๋ฆฌ ๋ฑ์ ์ถ์ ๊ฐ๋ฅ
[Servlet + Context + Listener ์ ์ด์ฉํด์ ์ด๋ฒคํธ ์ฒ๋ฆฌ(ํ์ฉ) ]
์๋ธ๋ฆฟ ์ ์ทจ์
์ด๋ฒคํธ ์ฒ๋ฆฌ์.
1. ์น ์ปจํ ์ด๋๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด ์์, ์ข ๋ฃ๋ ๋ ํน์ ํด๋์ค์ ๋ฉ์๋๋ฅผ
ํฐ์บฃ ์๋ฒ ์์ + ์ข ๋ฃ
์คํ ํ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณตํ๋ค.
(์ฆ, ์๋ฒ ์์, ์ข ๋ฃํ ๋ ์ด๋ค ํ์ํ ์์ ์ ํ ์ ์๋ค..)
2. ์ฌ์ฉ ๋ฐฉ๋ฒ
1) ServletContextListener ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค ์ ์ธ
1) contextInitialized()
์น์ปจํ ์ด๋(ํฐ์บฃ์๋ฒ)๊ฐ ์์ํ ๋ ํธ์ถ๋๋ ๋ฉ์๋
์ด๊ธฐํ ์์ ~~
2) contextDestroyed()
์น์ปจํ ์ด๋(ํฐ์บฃ์๋ฒ)๊ฐ ์ข ๋ฃ๋ ๋ ํธ์ถ๋๋ ๋ฉ์๋
๋ฆฌ์์ค(์์) ๋ฐํ~~
2) web.xml ๋ฑ๋ก
<listener>
<listener-class></listener-class>
</listener>
- ํ ๊ฐ ์ด์์ ๋ฆฌ์ค๋๋ฅผ ๋ฑ๋กํ ์ ์๋ค.
- ๋ ๊ฐ์ ๋ฉ์๋๋ ServletContextEvent sre ํ๋ผ๋ฏธํฐ ๊ฐ์ง๋ค.
1) contextInitialized(ServletContextEvent sre)
2) contextDestroyed(ServletContextEvent sre)
ServletContext sc = sre.getServletContext();
ServletContext sc ๋ jsp ๊ธฐ๋ณธ๊ฐ์ฒด์ธ application ๊ฐ์ฒด์ ๋์ผํ ๊ฐ์ฒด์ด๋ค.
web.xml
<context-param>
ํ๋ผ๋ฏธํฐ ์ค์
</context-param>
3) ์ค์ต
com.listener.DBCPinitListener ํด๋์ค ์ ์ธ -
์๋ฒ ์์ : ์ปค๋ฅ์ ํ ์ด๊ธฐํ.
-- context.xml, web.xml ์ค์
'๐จโ๐ป Web Development > JDBC | JSP | Servlet' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Day9] JSP/Servlet 9 - MVC ํจํด, filter (0) | 2022.12.18 |
---|---|
[Day8] JSP/Servlet 8 - ์ธ์ +, EL, EL์ฟ ํค, JSTL (0) | 2022.12.17 |
[Day7] JSP/Servlet 7 - ์ฟ ํค, ์ธ์ , ์ปค๋ฅ์ ํ (0) | 2022.12.16 |
[Day6] JSP/Servlet 6 - ๊ฒ์ํ (0) | 2022.12.15 |
[Day5] JSP/Servlet 5 - JSP 4scope, ์๋ฌํ์ด์ง, ๋ชจ๋ํ(include), ์๋ฐ๋น(javabean) (0) | 2022.12.15 |
์ต๊ทผ๋๊ธ