2 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class CController{ public function filterAccessControl($filterChain) { //這里是你的邏輯
$filterChain->run(); } }
class UserController extents CController{ public function filters() { return array{ 'AccessControl' // 這里就過(guò)濾了 } } public function actionIndex(){
} } |

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
弄過(guò)濾器,要實(shí)現(xiàn)filter接口
主要是用過(guò)濾器處理中文編碼,至于要用來(lái)做什么,再自己寫(xiě)比如權(quán)限控制,登錄驗(yàn)證,之類(lèi)
//下面這是一個(gè)類(lèi)。。。。
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class EncodingFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("GBK");//處理編碼
response.setCharacterEncoding("GBK");//處理編碼
chain.doFilter(request, response);//讓過(guò)濾器執(zhí)行下一個(gè)請(qǐng)求
}
public void destroy() {}
public void init(FilterConfig arg0) throws ServletException {}
}
//下面這個(gè)是在web.xml下的配置
<filter>
<filter-name>encoding</filter-name>
<filter-class>
剛剛創(chuàng)建的那個(gè)實(shí)現(xiàn)filter接口的類(lèi)的位置
例如:com.temp.filter.EncodingFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>*.jsp這個(gè)是以jsp為后綴的文件都攔截下來(lái)</url-pattern>
</filter-mapping>
可以寫(xiě)多個(gè)的<filter-mapping>來(lái)配置你所要攔截的東西
- 2 回答
- 0 關(guān)注
- 799 瀏覽
添加回答
舉報(bào)