导航:首页 > 净水问答 > 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相关的资料

热点内容
污水提升器配蹲便怎么安装 浏览:287
苯铵废水处理 浏览:115
树胶树脂有什么 浏览:760
大金有冷凝水提升泵吗 浏览:775
doit过滤 浏览:17
润滑油滤芯生意怎么样 浏览:894
家用反渗透纯水机怎么接管子 浏览:602
天龙国产14档变速箱滤芯怎么换 浏览:955
edi膜块回收 浏览:591
废水治理的前景概括 浏览:972
昌吉反渗透水处理 浏览:913
公司的污水处理费怎么做账 浏览:467
2018年内蒙古反渗透膜招标信息 浏览:288
山崎蒸馏所标 浏览:237
化工水处理药水 浏览:451
ro反渗透膜75加仑 浏览:277
如何打扫房间的污水 浏览:338
桑塔纳3000空调滤芯在什么位置 浏览:1
美国人怎么处理养殖污水 浏览:591
霍尼韦尔滤芯怎么换 浏览:116