导航:首页 > 净水问答 > filter过滤路径

filter过滤路径

发布时间:2022-08-15 06:57:35

过滤器<filter>配置的位置

在WEB-INF下面的web.xml里面配置。例如:
<filter>
<filter-name>projectFilter</filter-name>
<filter-class>com.bruce.filter.ProjectFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>projectFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

❷ 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证明。拦截成功。

❸ Filter过滤器中指定过滤内容怎么配置

servlet的这个 是不来是需要把每源一个的servlet都写进
“servlet位置”? 回答: 每个servlet都要在web.xml里配置,难道有没配的? 追问: 有~~ 每个都有 就是觉得要是每个都写一边那么会不会造成代码冗余
假设servlet的配置
/LoginServlet
/RegisterServlet
加入到过滤器的中
那个后缀的看起来还不错 具体能给个写法看写么? 回答: 比如servlet配置后缀
/LoginServlet.jspx
/RegisterServlet.jspx那filter/*.jspx再如servlet配置路径

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

过滤器来

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

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

❺ 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过滤器过滤多个路径

你可以吧除了index.jsp的所有jsp文件新建一个文件夹放进去 比如myJsp文件夹
然后过滤那个路径/myJsp/*

❼ 怎么让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是你自己写的,或者你反编译后能看懂得话,那么直接在过滤器里面自己判断了!

❽ java filter 过滤路径的问题

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

❾ Filter过滤器中指定过滤内容怎么配置

</filter-mapping> 补充: 如果是过滤servlet,需要把所有servlet的url-pattern设置成相同的后缀或路径,然后用Filter用统一的parttern过滤。 追问: servlet的这个 是不是需要把每一个的servlet都写进
<url-pattern>“servlet位置”</url-pattern>? 回答: 每个servlet都要在web.xml里配置,难道有没配的? 追问: 有~~ 每个都有 就是觉得要是每个都写一边那么会不会造成代码冗余
假设servlet的<url-pattern>配置
<url-pattern>/LoginServlet</url-pattern>
<url-pattern>/RegisterServlet</url-pattern>
加入到过滤器的<url-pattern>中
那个后缀的看起来还不错 具体能给个写法看写么? 回答: 比如servlet配置后缀
<url-pattern>/LoginServlet.jspx</url-pattern>
<url-pattern>/RegisterServlet.jspx</url-pattern>那filter<url-pattern>/*.jspx</url-pattern>
再如servlet配置路径

❿ JSP中用filter 过滤某个包中的所有servlet

web.xml中这样配置:

<servlet>

<servlet-name>Login</servlet-name>

<servlet-class>com.zq.servlet.Login</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Login</servlet-name>

<url-pattern>/servlet/Login</url-pattern>

</servlet-mapping>

或者不配置web.xml在servlet中写注解:

@WebServlet("/servlet/Login")

配置fliter可以在web.xml中这样写:

<filter>

<filter-name>LoginFilter</filter-name>

<filter-class>com.zy.filter.UserLoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>LoginFilter</filter-name>

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

</filter-mapping>

或者不配置web.xml在filter中写注解:

@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")

即在所有想过滤的servlet名字前加上“/setvlet”在过滤的时候过滤路径就可以写成“/servlet/*”这样就能过滤所有的Servlet。

阅读全文

与filter过滤路径相关的资料

热点内容
半透膜两侧溶液相等 浏览:193
饮水机锁键是什么 浏览:499
污水泵算什么设备 浏览:424
污水处理厌氧池水温多少才好 浏览:688
天津膜天膜浸没式超滤 浏览:634
净水器贵的有什么区别 浏览:591
污水处理厂危险等级划分 浏览:466
戴森空气净化器为什么一直红 浏览:614
树脂有限 浏览:309
美净康即热式饮水机怎么清洗 浏览:787
新沂市城市污水处理厂环评 浏览:132
猎德污水处理厂什么时候停电 浏览:481
余杭区污水处理公司 浏览:206
污水处理厂地势比较高如何处理 浏览:259
摩托车空气滤芯不吸水怎么办 浏览:827
纯水制备反渗透膜 浏览:439
污水厂所用的水泥有什么要求 浏览:661
316烧结滤芯开裂用什么能焊接 浏览:784
反渗透淡水出水少是怎么回事 浏览:760
饮水机评论怎么评 浏览:758