导航:首页 > 净水问答 > javafilter过滤url

javafilter过滤url

发布时间:2022-08-18 04:24:48

❶ java filter是该如何运用

建立一个过滤器涉及下列五个步骤:
1)建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法 包含主要的过滤代码(见第2步),init方法建立设置操作,而destroy方法进行清楚。
2) 在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括 表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为 FilterChain,如下一步所述,此参数用来调用servlet或JSP页。
3)调用FilterChain对象的doFilter方法。 Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过 滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。
4)对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。
5)禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。

❷ java过滤器filter能过滤某个包下的所有servlet吗

不能直接过滤。过滤器是根据URL路径来过滤的,不是根据包名来拦截的。但是你可以按照这样的规则配置你的web.xml文件,间接实现你的需求。

① 你的servlet的访问路径,根据包名来命名。设计二级路径。比如你有一个user.servlet包。你可以把里面的所有Servlet路径全部设置为/user/xxxServlet。你的filter拦截路径就改为

/user/*

//1AServlet代码
packageuser.servlet;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doPost(request,response);
}
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
System.out.println(456);
}
}

//2BServlet代码
packageuser.servlet;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doPost(request,response);
}
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
System.out.println(123);
}
}
//3filter代码
packagefilter;
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
{
@Override
publicvoiddestroy(){}

@Override
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,
FilterChainarg2)throwsIOException,ServletException{
System.out.println("执行了"+arg0.getParameter("name"));
arg2.doFilter(arg0,arg1);

}
@Override
publicvoidinit(FilterConfigarg0)throwsServletException{}

}
//4web.xml配置
<servlet>
<servlet-name>AServlet</servlet-name>
<servlet-class>user.servlet.AServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AServlet</servlet-name>
<url-pattern>/user/AServlet</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>Bservlet</servlet-name>
<servlet-class>user.servlet.BServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Bservlet</servlet-name>
<url-pattern>/user/BServlet</url-pattern>
</servlet-mapping>

<filter>
<filter-name>Myfilter</filter-name>
<filter-class>filter.Myfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Myfilter</filter-name>
<url-pattern>/user/*</url-pattern>
</filter-mapping>

//5测试我的工程应用名是HelloWorld
http://localhost/HelloWorld/user/AServlet?name=aaa
http://localhost/HelloWorld/user/BServlet?name=bbb
会发现控制台分别打印出取出的参数aaa和bbb证明。拦截成功。

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

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

❹ 在JAVA中filter有什么作用

Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源。

例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。例如对Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。

它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。

(4)javafilter过滤url扩展阅读

Filter的生命周期

和我们编写的Servlet程序一样,Filter的创建和销毁由WEB服务器负责。 web 应用程序启动时,web 服务器将创建Filter 的实例对象,并调用其init方法,读取web.xml配置,完成对象的初始化功能,从而为后续的用户请求作好拦截的准备工作

filter对象只会创建一次,init方法也只会执行一次。开发人员通过init方法的参数,可获得代表当前filter配置信息的FilterConfig对象。

这个方法完成实际的过滤操作。当客户请求访问与过滤器关联的URL的时候,Servlet过滤器将先执行doFilter方法。FilterChain参数用于访问后续过滤器。

Filter对象创建后会驻留在内存,当web应用移除或服务器停止时才销毁。在Web容器卸载 Filter 对象之前被调用。该方法在Filter的生命周期中仅执行一次。在这个方法中,可以释放过滤器使用的资源。

❺ Java Web 中的过滤器如何使用

你你在配置过来滤器的自 时候
配置web.xml

<filter>

<filter-name>Set Character Encoding</filter-name>

<filter-class>com.SetCharacterEncodingFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>Set Character Encoding</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

最后的<url-pattern>/*</url-pattern> 就是过滤的路径

比如你在文件夹下吧不过滤的放在根目录,过滤的放在一个filter的文件夹下,那么就配<url-pattern>/filter/*</url-pattern> 这样根目录的所有文件都不过滤,名字我随便起的,你可以根据你自己的写,或者这个*也可以用匹配符,比如<url-pattern>/*.jsp</url-pattern>
再或者<url-pattern>/java*</url-pattern> 这样只有以java开头的才过滤,其他的不过滤
你可以根据实际设置

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

}

❼ java filter 过滤路径的问题

url-pattern是针对请求的环境相关路径的,而不是针对某个文件的;所以你只要在根目录下只留index.jsp等一些不需过滤的文件,而把有必要过滤或保护的文件放在相应的文件夹中,并用url-pattern作好映射;

❽ javaweb怎么对url进行过滤

在web.xml里面配置,如下:

<filter>
<filter-name>FileUploadFilter</filter-name>
<filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
<init-param>
<param-name>sessionCookieName</param-name>
<param-value>jsessionid</param-value>
</init-param>
<init-param>
<param-name>sessionParameterName</param-name>
<param-value>JSESSIONID</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FileUploadFilter</filter-name>
<url-pattern>/plug-in/ckfinder/core/connector/java/connector.java</url-pattern>
</filter-mapping>

有一个filter 和一个filter-mapping>

❾ java 中 使用Filter过滤器 如何获取URL中的数据,具体如下:

不知道你说的是什么意思,你可以吧数据加在url上一起发送,在filter中用request.getParameter(“数据名称”)获得,request要转为HttpServletRequest

❿ filter的使用 java 过滤器的几种使用方法

过滤器来

过滤器是处于客户端自与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。

过滤器一般用于登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等等操作,便于代码重用,不必每个servlet中还要进行相应的操作。

阅读全文

与javafilter过滤url相关的资料

热点内容
市政污水管道是什么材质的 浏览:879
小米净水器里面送的卡子怎么用 浏览:145
污水池下水道一般在什么地方 浏览:844
反渗透摸海鸥 浏览:904
氯离子含量多少要脱废水 浏览:990
h6柴油滤芯打不着火怎么回事 浏览:403
人生模拟器提升名气 浏览:561
每万吨污水需要多少cod 浏览:796
污水处理氧化还原电位 浏览:353
美的1519饮水机什么时间上市的 浏览:487
柴油滤芯对车有什么影响 浏览:636
浙江涂装滤芯厂家哪里有 浏览:725
清山泉净水器哪个好 浏览:824
603b过滤怎么用 浏览:761
微溶能过滤 浏览:896
水垢能通过奶嘴吗 浏览:978
污水主处理工艺比对 浏览:519
节能饮水机怎么安装 浏览:781
是离子交换分离某些元素的主要依据 浏览:288
高锰酸钾能除垢吗 浏览:217