导航:首页 > 净水问答 > filter过滤多个url

filter过滤多个url

发布时间:2022-02-24 06:39:02

⑴ lt;filter-mapping>中与多个patter匹配的<url-pattern>应该怎么写

看一个例:

<filter>
<filter-name>edesignPhotoFilter</filter-name>
<display-name>EDesign Photo Filter</display-name>
<description>Disable Load photo from url</description>
<filter-class>edesign.filter.EDesignImageFilter</filter-class>
<init-param>
<param-name>paths</param-name>
<param-value>/photos/,/lphotos/,/userHome/, /attachments/</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>edesignPhotoFilter</filter-name>
<url-pattern>/photos/*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>edesignPhotoFilter</filter-name>
<url-pattern>/lphotos/*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>edesignPhotoFilter</filter-name>
<url-pattern>/userHome/*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>edesignPhotoFilter</filter-name>
<url-pattern>/attachments/*.jpg</url-pattern>
</filter-mapping>

⑵ 关于Servlet的filter过滤URL的问题

在web。xml里配置一个filter 把要过滤的页面放在一个文件夹下面 /文件夹名称/*

⑶ chain.doFilter过滤器如果要过滤多个网页但不是所有的网页web.xml在配置的时候怎么写~~~

HttpServletRequest req = (HttpServletRequest )request;
HttpServletRequest res = (HttpServletRequest )response;

String s = req.get***url(); //----具体去试,就是每次的请求的地址
//一般都是“/项目名/***”
if(!s.equel*******("/项目名/***") && !s.equel*******("/项目名/***") ){
//如果不匹配给出的路径,则放行
chain.doFilter(req, res);
}else{
return;
}

s.equel******* ----(最长的那一个,就是比较字符串)

在web.xml里面把这个Filter配进去,放在其他的Filter前面
<filter-mapping>
<url-parme>/*</url-parme>
</filter-mapping>
/* 拦截所有的请求~~~~~~~~~~

都是手打,大概的在myeclipse都有提示的
这样过滤了没什么好处,最好是设一个session,不然你过滤的网页永远都访问不到了~~~~~~~~~~~

⑷ javaweb filter过滤掉 request请求带有 add的请求怎么写过滤的url /*a

filter只能过滤两种URL
Pattern
/xxxx/*或者*.,
不支持楼主这样的模式,
实现过滤add请求,最好写成/add/xxxx

⑸ JSP过滤器这样设置过滤一个次级路径下的所有URL

/sites/*这样就可以了,如果这个文件夹是某个子目录的话还需要添加它的父目录;

下面内是些例子
<url-pattern>:指定和过滤器关联容的URL,为”/*”表示所有URL;
例子1:单个过滤器配置:容器将其应用于所有接收的请求
<url-pattern>/*</url-pattern>
例子2:过滤器应用到特定目录或资源(文件)的配置:此容器只有在接收到对/mydocs目录中的资源的请求时才会应用该过滤器。
<url-pattern>/mydocs/*</url-pattern>

⑹ 写了个filter,我需要过滤所有的servlet 应该怎么写 <url-pattern> 啊

配置的是访问路径,不是包路径,就是浏览器请求的路径:
例如:http://localhost:8080/mysite/user
若访问这个路径转到com.item.servlets的servlet,就应设为
/user,明白了吧。

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

}

⑻ 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>

⑼ filter过滤器url-pattern如何设定

filter的url-pattern的设置、多个url-pattern
当前报表采用如下filter处理ec的excel导出,并且这个filter被封装好了的<filter><filter-name>eXtremeExport</filter-name><filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class></filter><filter-mapping><filter-name>eXtremeExport</filter-name><url-pattern>*.report</url-pattern></filter-mapping>
有其它页面也用到了ec,也需要导出excel,但是后缀以action结尾,且只有2个特别的url("action1.action"、"action2.action")需要导出excel,尝试这么写不行<filter-mapping><filter-name>eXtremeExport</filter-name><url-pattern>action1.action</url-pattern></filter-mapping>这么写可以
<filter><filter-name>drpEcExportFilter</filter-name><filter-class>com.common.filter.DrpEcExportFilter</filter-class></filter><filter-mapping><filter-name>drpEcExportFilter</filter-name><url-pattern>*.action</url-pattern></filter-mapping><filter-mapping><filter-name>drpEcExportFilter</filter-name><url-pattern>*.multidimensionalreport</url-pattern></filter-mapping>但是不够精确
于是采用继承的方式共享.DrpEcExportFilter,而url的处理由自己控制<filter-name>drpEcExportFilter</filter-name><filter-class>com.common.filter.DrpEcExportFilter</filter-class></filter><filter-mapping><filter-name>drpEcExportFilter</filter-name><url-pattern>*.action</url-pattern></filter-mapping>
其中DrpEcExportFilter.java的代码-------------------------------------------------------------------------------------------------------package com.common.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;import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;import org.extremecomponents.table.filter.ExportFilter;
public class DrpEcExportFilter extends ExportFilter implements Filter {
public void destroy() { super.destroy();}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest hrequest=(HttpServletRequest)request; String requestURI = hrequest.getRequestURI(); if (StringUtils.isNotEmpty(requestURI) && (requestURI.indexOf("action1.action") != -1 || requestURI .indexOf("action2.action") != -1)) { super.doFilter(request, response, chain); } else { chain.doFilter(request, response); }}
public void init(FilterConfig config) throws ServletException { super.init(config);}
}
以上是本人福沃德滤器回答,有需要请搜索福沃德滤器。

⑽ filter实现怎样实现多个IP过滤

如果你在init-param中定义IP列表的话,可以用以下这种形式:
<param-value>192.168.0.68,192.168.0.13,192.168.0.44</param-value>,在doFilter方法里面判断remoteIP是否包含在这个filterIP字符串里面。
这种做法的缺点是每次更新列表,WEB应用程序都要重新启动,影响程序正常使用。而且,如果你的IP列表很大的话,web.xml文件会变得很难看。

另外一种常见的做法是,把IP列表写到单独一个文件或者是数据库里面,在程序启动时,通过servlet加载到servletContext里面。这样你更新列表通过另外一个jsp或serlvet就可以,不需要重新启动。

阅读全文

与filter过滤多个url相关的资料

热点内容
2020一体化废水处理设备大全 浏览:569
甲醇蒸馏采取不合格 浏览:396
柴油车瑞迈换柴油滤芯怎么排空气 浏览:738
废水管灌水高度 浏览:688
污水粘度一般多少 浏览:139
污水处理进度表 浏览:225
利百特污水提升泵多少钱 浏览:998
电厂水化水中加除垢剂能喝吗 浏览:527
汽油滤芯盖用的什么胶 浏览:446
杯子咖啡除垢 浏览:92
如何治理矿山酸性废水 浏览:775
纯净水加什么调料最好 浏览:719
临工953新款装载机空调滤芯怎么拆 浏览:603
净水机r75是什么意思 浏览:294
三角袋真空盘式过滤布专业厂家 浏览:29
什么牌子的净水器是老牌子的 浏览:256
污水处理大学读什么专业 浏览:246
碱厂废水处理设备 浏览:170
饮水机水嘴是什么材质的 浏览:709
环氧树脂去除液山东 浏览:718