Ⅰ filter 是什麼意思
filter的意思是:
1、n. 過濾器;濾波器;篩選程序;分流指示燈
2、v. 過濾;滲透;用版過濾法除去;慢慢權傳開;緩行;僅可左轉行駛
讀音:英[ˈfɪltə(r)]美[ˈfɪltər]
用法:
1、復數 filters
2、過去式 filtered
3、過去分詞 filtered
4、現在分詞 filtering
5、第三人稱單數 filters
(1)過濾器filter中文處理擴展閱讀
filter近義詞:penetrate
英[ˈpenətreɪt]美[ˈpenətreɪt]
1、vt. 滲透;穿透;洞察
2、vi. 滲透;刺入;看透
用法:
1、過去式 penetrated
2、過去分詞 penetrated
3、現在分詞 penetrating
4、第三人稱單數 penetrates
Ⅱ filter的中文意思
filter的意思是:
1、n. 過濾器;濾波器;篩選程序;分流指示燈
2、v. 過濾;滲透;用過濾法除去;慢慢傳開;緩行;僅可左轉行駛
讀音:英[ˈfɪltə(r)]美[ˈfɪltər]
用法:
1、復數 filters
2、過去式 filtered
3、過去分詞 filtered
4、現在分詞 filtering
5、第三人稱單數 filters
(2)過濾器filter中文處理擴展閱讀
filter近義詞:penetrate
英[ˈpenətreɪt]美[ˈpenətreɪt]
1、vt. 滲透;穿透;洞察
2、vi. 滲透;刺入;看透
用法:
1、過去式 penetrated
2、過去分詞 penetrated
3、現在分詞 penetrating
4、第三人稱單數 penetrates
Ⅲ 什麼是過濾器過濾器的作用是什麼
過濾器(filter)是輸送介質管道上不可缺少的一種裝置,通常安裝在減壓閥、泄壓閥、定水位閥 ,方工過濾器其它設備的進口端設備。過濾器有一定規格濾網的濾筒後,其雜質被阻擋,當需要清洗時,只要將可拆卸的濾筒取出,處理後重新裝入即可,因此,使用維護極為方便。 過濾器的工作原理是: 過濾器待處理的水由入水口進入機體, 水中的雜質沉積在不銹鋼濾網上,由此產生壓差。通過壓差開關監測進出水口壓差變化,當壓差達到設定值時,電控器給水力控制閥,驅動電機信號。設備安裝後,由技術人員進行調試,設定過濾時間和清洗轉換時間,待處理的水由入水口進入機體,過濾器開始正常工作,當達到預設清洗時間時,電控器給水力控制閥、驅動電機信號,引發下列動作:電動機帶動刷子旋轉,對濾芯進行清洗,同時控制閥打開進行排污,整個清洗過程只需持續數十秒鍾,當清洗結束時,關閉控制閥,電機停止轉動,系統恢復至其初始狀態,開始進入下一個過濾工序。過濾器的殼體內部主要由粗濾網、細濾網、吸污管,不銹鋼刷或不銹鋼吸嘴、密封圈、防腐塗層、轉動軸等組成。 用過濾介質把容器分隔為上、下腔即構成簡單的過濾器。懸浮液加入上腔,在壓力作用下通過過濾介質進入下腔成為濾液,固體顆粒被截留在過濾介質表面形成濾渣(或稱濾餅)。過濾過程中過濾介質表面積存的濾渣層逐漸加厚,液體通過濾渣層的阻力隨之增高,過濾速度減小。當濾室充滿濾渣或過濾速度太小時,停止過濾,清除濾渣,使過濾介質再生,以完成一次過濾循環。 液體通過濾渣層和過濾介質必須克服阻力,因此在過濾介質的兩側必須有壓力差,這是實現過濾的推動力。增大壓力差可以加速過濾,但受壓後變形的顆粒在大壓力差時易堵塞過濾介質孔隙,過濾反而減慢。 懸浮液過濾有濾渣層過濾、深層過濾和篩濾 3種方式。 ①濾渣層過濾:過濾初期過濾介質只能截留大的固體顆粒,小顆粒隨濾液穿過過濾介質。在形成初始濾渣層後,濾渣層對過濾起主要作用,這時大、小顆粒均被截留,例如板框壓濾機的過濾。 ②深層過濾:過濾介質較厚,懸浮液中含固體顆粒較少,且顆粒小於過濾介質的孔道。過濾時,顆粒進入後被吸附在孔道內,例如多孔塑料管過濾器、砂濾器的過濾。 ③篩濾:過濾截留的固體顆粒都大於過濾介質的孔隙,過濾介質內部不吸附固體顆粒,例如轉筒式過濾篩濾去污水中的粗粒雜質。在實際的過濾過程中,三種方式常常是同時或相繼出現。
Ⅳ Filter簡述和@Filter註解使用
Filter主要用於對用戶請求進行預處理,也可以對請求的響應結果進行後續處理。它與Servlet的區別在於,不能直接向用戶生成響應結果。
用戶發送請求,Filter首先攔截用戶請求進行預處理,接著將請求交給Servlet進行處理並生成響應,最後Filter再對伺服器響應結果進行後續處理。
(1)根據需要可以檢查並修改HttpServletRequest請求頭和請求數據。
(2)根據需要可以檢查並修改HttpServletResponse響應頭和響應數據。
(1)許可權過濾:Filter負責對請求進行許可權檢查,過濾非法請求。
(2)日誌記錄:對某些特殊操作進行日誌記錄。
(3)設置字元集。
servlet3.0前,Filter的注入通常採用xml方式注入,但是在servlet3.0後,開始支持通過註解的方式進行注入。
(1)基於註解@Filter注入
採用@Filter注入時,需要通過註解 @ServletComponentScan 配置掃描路徑,如果是SpringBoot項目,通常添加到啟動類上。
(2)通過配置類進行注入
過濾器Filter的功能看起來和攔截器Interceptor類似,那麼他們是否可以互相替換呢?具體有哪些差別呢?後面會繼續分析
Ⅳ 如何配置Filter過濾器處理JSP中文亂碼
這個網路上有的是,下面這個是普通filter版本的,普通的要建一個filter類,我這個起的名叫CoreFilter,類實現Filter介面就行
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>filter.CoreFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
這個是spring框架的
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Ⅵ servlet中filter有什麼用
首先介紹一下Filter到底是個什麼東西:
根據這個單詞就能猜到Filter的中文意思是過濾器,事實當然也是這樣的;Filter是Servlet中的一個重 要組件。
接下來簡單說說Filter這個介面中的常用方法吧。
①.init():類似於Servlet生命周期中的init()方法,用於初始化一些關於Filter介面的參數;只在Servlet 啟動時調用一次。
②.doFilter():類似於Servlete生命周期中的service()方法,該方法用於存放邏輯代碼。
③.destory():同理類似於Servlet生命周期中的destroy()方法,當Servlet容器銷毀前調用該方法。
然後說說如何創建一個Filter的HelloWorld。
①.創一個抽象的Java類,該類實現了Filter介面,同時實現了Filter介面的部分方法,例如
init(),destroy()方法。具體實現代碼如下:
public abstract class HttpFilter implements Filter {
private HttpServletRequest request;
private HttpServletResponse response;
//重寫Filter介面的destory方法
public void destroy() {}
//重寫doFilter方法,這個方法在這里主要作用是將ServletRequest,ServletResponse對象轉為對 //應的HttpServletRequest,HttpServletResponse對象
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
this.request = (HttpServletRequest) arg0;
this.response = (HttpServletResponse) arg1;
doFilter(request, response, arg2);
}
//該方法交由繼承該抽象類的實現類來實現
public abstract void doFilter(HttpServletRequest request,HttpServletResponse response,
FilterChain chain);
private FilterConfig config;
//這個方法是為了方便子類獲取ServletContext對象
public FilterConfig getFilterConfig(){
return config;
}
//該方法一般不建議重寫,因為重寫該方法會出現某些錯,基於此提供了下面的無參數的init()方法
public void init(FilterConfig arg0) throws ServletException {
this.config = arg0;
init();
}
public void init(){}
}
②.一個繼承了HttpFilter抽象類的實現類,代碼如下,只要功能是為了實現禁用瀏覽器緩存
public class NoCacheFilter extends HttpFilter{
@Override
public void doFilter(HttpServletRequest request,
HttpServletResponse response, FilterChain chain) {
//通過過濾器實現頁面禁用瀏覽器緩存
response.setDateHeader("Expires", -1);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
}
}
③.將該實現類配置到web.xml文件中,配置方式和配置普通的Servlet一樣,具體代碼
<filter>
<filter-name>NoCacheFilter</filter-name>
<filter-class>com.xingyun.servlet.filter.NoCacheFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>NoCacheFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
至此,就實現了一個簡單的用於禁用瀏覽器緩存的過濾器了。
上面說了這么多,在開發中哪些地方中能用到Filter才是最終目的,好了,我大概說一下我在開發中用到的地方。
①.上面提到的禁用瀏覽器的緩存。這個真的很重要,有時候修改了前端頁面,就是因為緩存的原因,導致頁面不 能及時刷新過來,真的很蛋疼。
②.解決中文亂碼的問題。在開發中,頁面可能達到幾十個甚至上百個,在每個頁面處理中文亂碼的問題很煩,但 是通過過濾器,那麼問題就變得很簡單了。
③.通過檢查用戶是否登錄來管理用戶是否可以訪問某些頁面,比如個人隱私等頁面。這個用的也是蠻多的。
Ⅶ 過濾器Filter
過濾器是 Servlet 的高級特性之一,是實現了 Filter 介面的 Java。 過濾器位於瀏覽器與伺服器端之間,充當濾網的作用,過濾或處理一些不恰當的請求 。
過濾器的用處: 過濾敏感字元串、避免中文亂碼、許可權驗證(規定只帶有Session或Cookie的用戶才能訪問)等等;
所有實現了 Filter 介面的類都稱為過濾器。過濾器必須實現 Filter 下的三個方法:
其中, doFilter() 方法有三個參數 ServletRequest、ServletResponse 和 FilterChain,FilterChain 參數用於調用後續的過濾器,如果不存在過濾器,則訪問目標資源;
web.xml中配置
應用順序是指 根據請求地址執行對應的過濾器的順序 。執行攔截一個請求的過濾器是根據 web.xml中 <filter-mapping> 順序從上往下執行,而且是嵌套執行的。
一個請求中,如果需要經過多個過濾器,其請求和響應的過程如下圖所示
Ⅷ java filter 過濾器中文亂碼 怎麼解決啊
1、首先編寫一個Java類的filter代碼。操作步驟:
(1)在myeclipse中新建一個java類,
(2)單擊「Add」按鈕,在彈出來的對話框中「選擇介面」文本框中輸入Filter,
並選擇匹配好的類型javax.servlet
(3)單擊「OK」按鈕返回"New Java Class"對話,然後單擊「Finish」按鈕,就可以看到創建的過濾器框架:
過濾器類:Encoding.java,代碼如下:
package com;
import java.io.IOException;
import javax.servlet.*;
public class Encoding implements Filter {
protected String encoding=null;
protected FilterConfig config;
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(request.getCharacterEncoding()==null){
//得倒指定的編碼
String encode=getEncoding();
if(encode!=null){
//設置request的編碼
request.setCharacterEncoding(encode);
response.setCharacterEncoding(encode);
}
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.config=filterConfig; //得到web.xml中的配置編碼
this.encoding=filterConfig.getInitParameter("Encoding");
}
protected String getEncoding(){
return encoding;
}
}
2、在web.xml文件寫入以下代碼:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<filter> <!-- 控制編碼 -->
<filter-name>EncodingFilter</filter-name>
<filter-class>com.Encoding</filter-class>
<init-param> <!-- 初始化參數 -->
<param-name>Encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Ⅸ 如何配置Filter過濾器處理JSP中文亂碼
注意問題:在學慣用selvert的過濾器filter處理中文亂碼時,在filter配置初始化時用了utf-8處理中文亂碼,而在提交的jsp頁面中卻用了gbk。雖然兩種都可以出來中文亂碼,但是卻造成了處理亂碼的格式不一致。所以編譯出錯。
解決方法:所有地方都用utf-8或gbk
//過濾器類
CharactorFilter.jsp
package cn.com.Filter;
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;
public class CharactorFilter implements Filter { //繼承Filter類
//字元編碼
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//設置request字元編碼
request.setCharacterEncoding(encoding);
//設置response字元編碼
response.setContentType("text/html;charset="+encoding);
}
//傳遞給下一個過濾器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//獲取初始化參數
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}
web.xml
<filter> <!--注意這里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--過濾器名稱-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--過濾器的完整類名-->
<init-param> <!--初始化參數-->
<param-name>encoding</param-name> <!--參數名稱-->
<param-value>utf-8</param-value> <!--參數值-->
</init-param>
</filter>
<filter-mapping> <!--過濾器映射-->
<filter-name>CharactorFilter</filter-name><!--過濾器名稱-->
<url-pattern>/*</url-pattern><!--URL映射,給所有頁面處理亂碼-->
</filter-mapping>
Ⅹ Filter中文過濾器有問題,諸位大俠幫我看看啊!
補充2:有兩種方式可以把utf8設置到欄位級別。
1.工具方式,請使用mysql官方工具mysql query browser,然後在表的edit table中的column details,直接對欄位進行設置。
2.命令行方式,ALTER TABLE tablename MODIFY COLUMN columnname varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;對於每個可能會出現亂碼的欄位都要設置。
------------
補充:
他對已有的數據無效,只對設置utf8後的數據有效。另外,請樓主注意:utf8要設置到欄位級別,而不僅僅是表級別。
------------------------------------
不需要這樣處理。對於jsp+mysql的多語言問題,可以用以下解決方案,可以對任意語言都適用。
1.在資料庫鏈接字元串上要形如:jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8(注意要加characterEncoding=UTF-8)
2.在資料庫表和相應的欄位要的charset要選擇utf8(欄位也要加)
3.在servlet的java中去參數時要加上:httpServletRequest.setCharacterEncoding("UTF-8");
4.jsp頁面要加上字元集:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
這樣就可以處理所有語言的亂碼問題。