[Day10] JSP/Servlet 10 -
[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 μ€μ