導航:首頁 > 凈水問答 > mavenfilter過濾器不管用

mavenfilter過濾器不管用

發布時間:2022-02-16 10:09:56

A. 為何java中的過濾器filter不起作用

過濾器配置正抄確,但卻沒有起到過濾作用,原因可能是排放位置的問題。如下:

錯誤:

<filter>
<filter-name>struts2</filter-name>
<filter-class>com.yiwo.base.web.filter.PrepareFilter</filter-class>
</filter>

<filter>
<filter-name>userFilter</filter-name>
<filter-class>com.yiwo.base.web.filter.UserFilter</filter-class>
</filter>

B. filter的使用 java 過濾器的幾種使用方法

過濾器來

過濾器是處於客戶端自與伺服器資源文件之間的一道過濾網,在訪問資源文件之前,通過一系列的過濾器對請求進行修改、判斷等,把不符合規則的請求在中途攔截或修改。也可以對響應進行過濾,攔截或修改響應。

過濾器一般用於登錄許可權驗證、資源訪問許可權控制、敏感詞彙過濾、字元編碼轉換等等操作,便於代碼重用,不必每個servlet中還要進行相應的操作。

C. java過濾器不過濾某個貨某一些路徑

<param-name>noLoginPaths</param-name> 參數名可自取

<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.imooc.filter.LoginFilter</filter-class>
<init-param>
<param-name>noLoginPaths</param-name>
<param-value>login.jsp;fail.jsp;LoginServlet</param-value>
</init-param>
<init-param>
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

StringnoLoginPaths=config.getInitParameter("noLoginPaths");

關鍵代碼 :

if(noLoginPaths!=null){
String[]strArray=noLoginPaths.split(";");
for(inti=0;i<strArray.length;i++){

if(strArray[i]==null||"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1){
arg2.doFilter(arg0,arg1);
return;
}
}

}

完整代碼:

importjava.io.IOException;

importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;

{

privateFilterConfigconfig;

@Override
publicvoiddestroy(){

}

@Override
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainarg2)throwsIOException,ServletException{

HttpServletRequestrequest=(HttpServletRequest)arg0;
HttpServletResponseresponse=(HttpServletResponse)arg1;
HttpSessionsession=request.getSession();

StringnoLoginPaths=config.getInitParameter("noLoginPaths");

Stringcharset=config.getInitParameter("charset");
if(charset==null){
charset="UTF-8";
}
request.setCharacterEncoding(charset);

if(noLoginPaths!=null){
String[]strArray=noLoginPaths.split(";");
for(inti=0;i<strArray.length;i++){

if(strArray[i]==null||"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1){
arg2.doFilter(arg0,arg1);
return;
}
}

}
if(session.getAttribute("username")!=null){
arg2.doFilter(arg0,arg1);
}else{
response.sendRedirect("login.jsp");
}

}

@Override
publicvoidinit(FilterConfigarg0)throwsServletException{
config=arg0;
}

}

D. maven的filter怎麼選擇

方法如下:1、創建maven工程,新建project,右鍵選擇NewProject,勾選快速創建選項,這個選項可以快速創建簡單的maven工程。2、項目創建成功後,項目目錄主要有:主代碼目錄、主資源目錄、測試代碼目錄、測試資源目錄、輸出目錄(代碼編譯存放的目錄)。3、添加項目依賴,查找項目依賴通常有兩種方式:1.直接在eclipse上查找,2.在私服nexus上查找再復制依賴信息到pom.xml中。在eclipse中查找右鍵項目或pom.xml,輸入關鍵信息查找,選中要引入的構件,點OK就可以自動引入。4、在nexus中查找依賴,打開nexus輸入關鍵信息點擊查找按鈕,在搜索結果中找到對應的jar包,復制右下角的那段信息到pom.xml的dependencies下,如圖所示。5、在MyEclipse上運行mvn命令,右鍵項目選擇RunAs--》Mavenclean。mvn命令有很多,簡單說明下比較常用的命令:1.clean用於清理輸出目錄target/2.compile用於編譯項目主代碼3.test用於編譯運行測試代碼4.package接受編譯好的代碼,打包成可發布的模式5.install將包安裝到maven本地倉庫6.Deploy將最終的包復制到遠程倉庫6、執行以上命令時,clean是不會自動執行的,因為clean和其他5個命令是不同的生命周期,因此需要使用組合命令。7、在MyEclipse中運行組合命令,右鍵項目選擇RunAs--》Mavenbuild前面介紹了怎麼運行一些命令,現在講下怎麼樣運行實例。在主代碼目錄和測試目錄上添加代碼。8、運行命令cleaninstall,運行結果如圖所示,從結果可以看到,命令運行成功,運行了一次測試並且運行通過,同時,將jar打包到項目的target目錄下,也安裝到maven的的本地倉庫上了。9、將jar包部署到私服nexus上,在pom.xml中添加一些配置,最後發布運行命令cleandeploy,發布後可以到私服nexus查找有沒有剛剛部署的jar包。

E. 在springmvc中使用過濾器chain.dofilter 出不去

如果走chain的話,通過chain.doFilter(request,response)這個方法會立即跳轉到被攔截的servlet並且執行完還要再返回filter.chain相當於一扇門,從這扇門出去再從這扇門回來.調用filter的方法就是在web.xml中配置,需要配置一個與你需要攔截的servlet相同的url-pattern.
<!-- 配置一個過濾器 -->
<filter>
<filter-name>suibianxie</filter-name>
<filter-class>com.etoak.filter.MyEncoding</filter-class>
<!-- 配置一個私有參數 -->
<init-param>
<param-name>mycode</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<!-- 攔截的先後順序和mapping的順序有關 -->
<filter-mapping>
<filter-name>suibianxie</filter-name>
<!-- 注意這里和要攔截的servlet的url-pattern必須一致,等於是過濾器
搶在servlet之前攔截住了 -->
<url-pattern>/servlet/Test</url-pattern>
</filter-mapping>
<!-- 配置第二個過濾器 -->
<filter>
<filter-name>suibianxie2</filter-name>
<filter-class>com.etoak.filter.Naming</filter-class>
</filter>
<filter-mapping>
<filter-name>suibianxie2</filter-name>
<url-pattern>/servlet/Test</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.etoak.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/servlet/Test</url-pattern>
</servlet-mapping>

F. filter過濾器問題

你的問題好像是只需要Filter處理jsp的請求,只要改web.xml里Filter配置就可以。url-pattern別給/*,給/.jsp,如果需要過濾多種文件請求,可以再增加filter-mapping,每個的url-pattern對應一種文件。
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
</filter-mapping>

G. filter過濾器配置如何不過濾一些頁面

直接添加多個文件映射啊,為每個需要進行過濾的文件都寫個映射標簽

H. 不明白Filter過濾器怎麼用,大家幫幫我

我來給你簡單的說一下吧:)
首先要明確。Filter是JSP2.0裡面的東西 ,顧名思義,也就是過濾器的意思
和你說說如何用吧。要用Filter就得在web.xml中配置
例:
//配置方法和配置普通的Servlet一樣的哦
<filter>
<filter-name>PrivFilter</filter-name>
<filter-class>com.myPriv.filter.PrivFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>PrivFilter</filter-name>
<url-pattern>/resource/*</url-pattern>
</filter-mapping>
//com.myPriv.filter.PrivFilter是這個過濾器所在的位置。當然這個過濾器必須實現介面javax.servlet.Filter。
然後就可以在過濾器這個介面方法中增加過濾條件了
public void doFilter(ServletRequset request, ServletResponse response,FilterChain chain)
thows ServletException, IOException{

然後你可以把過濾條件寫出來,寫在doFilter方法裡面
我這里寫一個簡單的例子:
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session=request.getSession();
ServletContext application=session.getServletContext();

if(session.getAttribute("userSession")==null)
{
response.sendRedirect("error/priv_error.jsp");
return;
}
else
{
chain.doFilter(request, response);
}

}

在上面的這個過濾方法中,如果session.getAttribute("userSession")==null)那就跳轉到錯誤頁面。如果不為空,則繼續
所以
chain.doFilter(request, response);的意思就是跳轉到下個頁面,
明白了吧?

如果還有不明白。,可以留下你的問題

------------------------
還有忘了回答你的問題 了。java會在處理每一個Servlet時都走一次Filter的。所以你不必擔心你的過濾不起作用了
而且chain.doFilter(request.response);
是必須的。沒有他,程序就不會繼續了:)他是讓你的request和response繼續運行哦
--------------------------------
這個你就可接寫/*
好了。它是說對哪些范圍起作里這個過濾器

I. java項目中配置過濾器filter後jquery的日期控制項和列表控制項不起作用了,什麼原因啊,求幫助。

是不是控制項引用的js 或css被攔截住了

J. 我的filter過濾器配好了,但是執行,不知道怎麼回事,請大神指點

http://blog.csdn.net/u013210620/article/details/52464468

閱讀全文

與mavenfilter過濾器不管用相關的資料

熱點內容
污水管網建設運營 瀏覽:902
732陽離子交換樹脂洗脫 瀏覽:370
壓縮空氣過濾器材質 瀏覽:611
融安哪裡有污水處理廠 瀏覽:726
紳寶suv空調濾芯在哪裡 瀏覽:742
k2空氣濾芯在哪裡 瀏覽:864
常用水垢除垢劑 瀏覽:137
污水管網連接申請書 瀏覽:631
污水管距離雨水管多遠 瀏覽:710
中空纖維超濾膜微孔劑 瀏覽:239
過濾蒸發萃取蒸餾的方法原理 瀏覽:375
樹脂切割片生產利潤 瀏覽:471
tp路由器mac地址過濾教程 瀏覽:410
超大杯的可樂怎麼能做飲水機 瀏覽:473
潤滑工作做好五定三過濾 瀏覽:25
污水管道平面圖怎麼畫 瀏覽:424
柴油小型污水泵拉不燃該怎麼辦 瀏覽:797
治理污水 瀏覽:677
超濾器過濾水發黃 瀏覽:251
除垢劑對身體有害么 瀏覽:104