導航:首頁 > 凈水問答 > filter設置不過濾一些頁面

filter設置不過濾一些頁面

發布時間:2022-04-26 04:53:02

㈠ web.xml lt;filter-mapping>我不想過濾html文件,怎麼設置

不使用 /* 攔截所有,攔截想攔截的就可以了

類似下面的過濾方式
<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>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.usl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.view</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/jaxrs/*</url-pattern>
</filter-mapping>
在filter類中判斷一下,如果是.html結尾的就不過濾。
HttpServletRequest req = (HttpServletRequest)request;
//由於web.xml中設置Filter過濾全部請求,可以排除不需要過濾的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
HttpServletRequest req = (HttpServletRequest)request;
//由於web.xml中設置Filter過濾全部請求,可以排除不需要過濾的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);

chain是以下過濾方法中的chain嗎?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{

另外, if(reqURI.endsWith(".html")) 到底是 真還是假

HttpServletRequest req = (HttpServletRequest)request;
//由於web.xml中設置Filter過濾全部請求,可以排除不需要過濾的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);

chain是以下過濾方法中的chain嗎?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{

另外, if(reqURI.endsWith(".html")) 到底是 真還是假

就是這個chain,這個判斷就是判斷你放問的路徑是否以.html結尾,你可以試試。

HttpServletRequest req = (HttpServletRequest)request;
//由於web.xml中設置Filter過濾全部請求,可以排除不需要過濾的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);

chain是以下過濾方法中的chain嗎?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{

另外, if(reqURI.endsWith(".html")) 到底是 真還是假

就是這個chain,這個判斷就是判斷你放問的路徑是否以.html結尾,你可以試試。

報錯
java.lang.IllegalStateException: getWriter() has already been called for this response
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//把ServletRequest和ServletResponse轉換成真正的類型
HttpServletRequest req = (HttpServletRequest)request;
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".do")) chain.doFilter(request, response);
System.out.println(reqURI);
chain.doFilter(request, response);
}

我這里用過的原代碼,沒錯,你看下你別的地方,用到response的地方
//把ServletRequest轉換成真正的類型
HttpServletRequest req = (HttpServletRequest)request;
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
else{
return;
}

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

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

㈢ 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;
}

}

㈣ Kindeditor編輯器如何設置不過濾HTML標簽或者某些指定的標簽

一、如何控制kindeditor編輯器不過濾任何標簽?
這個控制方法其實回在文章http://www.stepday.com/topic/?382 內的末尾處都答是有提及到的。這里就在重復啰嗦幾句。主要設置是在頁面內創建kindeditor編輯器的時候,設置其filterMode屬性為true/false來決定是否開啟過濾機制。代碼如下所示:
KindEditor.ready(function (K) {
2.editor = K.create('textarea[name="content"]', {
3.filterMode: false,//是否開啟過濾模式
4.});
5.});

㈤ Java:現在Filter把所有請求都攔截了,怎麼使Filter不過濾login.jsp頁面呢

對於這種,抄我說兩種方法:

1、將你所有的JSP頁面單獨放在一個文件夾里(假如jspPage),jspPage文件夾里可根據類別分若乾子文件夾,再把相對應的JSP放在子文件夾里;
JS、CSS及圖片等分別放在外面的文件夾里(與文件夾jspPage並列)
再:<url-pattern>/jspPage/*</url-pattern>就行了
一般用的就是這種

2、在過濾的JAVA文件中,在doFilter方法里進行判斷,將後綴名為.css、.js等直接設置為通過就行了,這種較為復雜,在一些特殊情況下才用到,一般不

㈥ java過濾器怎麼不過濾一個頁面里包含的多個請求

abstract public class FilterPerRequest implements Filter {

private static final Boolean FILTERED = true;
private ThreadLocal<Boolean> statusLocal = new ThreadLocal<Boolean>();

@Override
final public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
if (hasNotFiltering()) {
doFilterAndDispatchRequest(req, resp, chain);
return;
}
//dispatch request only
chain.doFilter(req, resp);
}

private boolean hasNotFiltering() {
Boolean status = statusLocal.get();
if (status == null) {
return true;
}
return false;
}

private void doFilterAndDispatchRequest(ServletRequest req,
ServletResponse resp, FilterChain chain) throws IOException,
ServletException {
try {
doFilterPerRequest(req, resp);
setFiltered();
chain.doFilter(req, resp);
} finally {
cleanFilterStatus();
}
}

abstract protected void doFilterPerRequest(ServletRequest req,
ServletResponse resp);

private void setFiltered() {
statusLocal.set(FILTERED);
}

private void cleanFilterStatus() {
statusLocal.set(null);
}

}
那要就情況而定了。。。
如果是request范圍內的話,就可以使用上面的過濾器。
如果是session范圍內的話,就需要在session內存儲一個標志變數,方式和request差不多。
如果是限制用戶操作的話,那就必須將用戶操作持久化。
由於你的問題不明確,我也不好多說...

㈦ 怎麼讓filter不過濾某幾個動作

<filter-mapping
<filter-nameCommonHeadersFilter</filter-name
<url-pattern/*</url-pattern
</filter-mapping/*是對所有的路徑過濾,那麼你可以定義你不過濾的路徑為
<filter-mapping
<filter-nameCommonHeadersFilter</filter-name
<url-pattern/yes/*</url-pattern
</filter-mapping
那麼所有的不包含上面的路徑都不做;
2,如果這個filter是你自己寫的,或者你反編譯後能看懂得話,那麼直接在過濾器裡面自己判斷了!

㈧ jsp過濾器的web.xml如何指定不想過濾的頁面

在filter類中判斷一下
如果URL是以page/index.jsp結尾的,直接就過了,不做驗證
不過感覺這種方法治標不治本

我也在等達人出現。。。

㈨ web.xml如何配置filter能讓他不過濾特定servlet

可以通過限制訪問路徑來控制對具體的sevlet的調用

㈩ 急!如何讓過濾器不過濾頁面中引用的CSS或JS頁面

對於這種,我說兩種方法:

1、將你所有的JSP頁面單獨放在一個文件夾里專(假如jspPage),jspPage文件夾里可根據屬類別分若乾子文件夾,再把相對應的JSP放在子文件夾里;
JS、CSS及圖片等分別放在外面的文件夾里(與文件夾jspPage並列)
再:<url-pattern>/jspPage/*</url-pattern>就行了
一般用的就是這種

2、在過濾的JAVA文件中,在doFilter方法里進行判斷,將後綴名為.css、.js等直接設置為通過就行了,這種較為復雜,在一些特殊情況下才用到,一般不推薦

閱讀全文

與filter設置不過濾一些頁面相關的資料

熱點內容
小米凈化器濾芯什麼時候更換 瀏覽:147
污水還會對什麼造成危害 瀏覽:406
賓士的空調濾芯在哪裡換 瀏覽:482
萃取和蒸餾的思考題答案 瀏覽:969
環氧樹脂生產流程圖 瀏覽:405
江鈴域虎7空調濾芯是什麼形狀 瀏覽:664
餐廳污水處理設備百科 瀏覽:653
醫院污水自己可以產生氯嗎 瀏覽:33
反滲透膜壓降什麼意思 瀏覽:538
油墨過濾芯多少錢 瀏覽:999
常溫樹脂澆注料 瀏覽:164
山西污水處理碳源批發 瀏覽:122
絡合銅廢水加硫酸鐵 瀏覽:695
海爾小型凈水機排氣閥在什麼位置 瀏覽:512
湖北武漢哪裡有合成樹脂瓦 瀏覽:778
小區靠污水處理廠 瀏覽:418
污水泵站外觀是什麼樣子的 瀏覽:482
藍鳥空調濾芯怎麼取不出來 瀏覽:624
污水井如何供氧 瀏覽:324
直飲水機怎麼看余額 瀏覽:267