doFilter如何使用
来源:互联网 发布:嗟乎,此真将军矣 编辑:程序博客网 时间:2024/06/06 04:53
原文地址: http://blog.sina.com.cn/s/blog_5bba80460100dlsu.html
我来给你简单的说一下吧:)
首先要明确。Filter是JSP2.0里面的东西 ,顾名思义,也就是过滤器的意思
和你说说如何用吧。要用Filter就得在web.xml中配置
例:
//配置方法和配置普通的Servlet一样的哦
<filter>
<filter-name>PrivFilter</filter-name>
<filter-class>com.myPriv.filter.PrivFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrivFilter</filter-name>
<url-pattern>/resource/*</url-pattern>
</filter-mapping>
//com.myPriv.filter.PrivFilter是这个过滤器所在的位置。当然这个过滤器必须实现接口javax.servlet.Filter。
然后就可以在过滤器这个接口方法中增加过滤条件了
public void doFilter(ServletRequset request, ServletResponse response,FilterChain chain)
thows ServletException, IOException{
}
然后你可以把过滤条件写出来,写在doFilter方法里面
我这里写一个简单的例子:
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session=request.getSession();
ServletContext application=session.getServletContext();
if(session.getAttribute("userSession")==null)
{
response.sendRedirect("error/priv_error.jsp");
return;
}
else
{
chain.doFilter(request, response);
}
}
在上面的这个过滤方法中,如果session.getAttribute("userSession")==null)那就跳转到错误页面。如果不为空,则继续
所以
chain.doFilter(request, response);的意思就是跳转到下个页面,
明白了吧?
如果还有不明白。,可以留下你的问题
------------------------
还有忘了回答你的问题 了。java会在处理每一个Servlet时都走一次Filter的。所以你不必担心你的过滤不起作用了
而且chain.doFilter(request.response);
是必须的。没有他,程序就不会继续了:)他是让你的request和response继续运行哦
--------------------------------
这个你就可接写/*
好了。它是说对哪些范围起作里这个过滤器
首先要明确。Filter是JSP2.0里面的东西 ,顾名思义,也就是过滤器的意思
和你说说如何用吧。要用Filter就得在web.xml中配置
例:
//配置方法和配置普通的Servlet一样的哦
<filter>
<filter-mapping>
</filter-mapping>
//com.myPriv.filter.PrivFilter是这个过滤器所在的位置。当然这个过滤器必须实现接口javax.servlet.Filter。
然后就可以在过滤器这个接口方法中增加过滤条件了
public void doFilter(ServletRequset request, ServletResponse response,FilterChain chain)
thows ServletException, IOException{
}
然后你可以把过滤条件写出来,写在doFilter方法里面
我这里写一个简单的例子:
public void doFilter(ServletRequest req, ServletResponse res,
}
在上面的这个过滤方法中,如果session.getAttribute("userSession")==null)那就跳转到错误页面。如果不为空,则继续
所以
chain.doFilter(request, response);的意思就是跳转到下个页面,
明白了吧?
如果还有不明白。,可以留下你的问题
------------------------
还有忘了回答你的问题 了。java会在处理每一个Servlet时都走一次Filter的。所以你不必担心你的过滤不起作用了
而且chain.doFilter(request.response);
是必须的。没有他,程序就不会继续了:)他是让你的request和response继续运行哦
--------------------------------
这个你就可接写/*
好了。它是说对哪些范围起作里这个过滤器
1 0
- doFilter如何使用
- doFilter如何使用
- doFilter如何使用
- 使用filter导致服务器返回的页面始终是空白---在doFilter中漏写了chain.doFilter()
- chain.doFilter
- Struts框架 过滤器doFilter
- 过滤器doFilter----支持中文...
- 过滤器的doFilter
- struts StrutsFilter doFilter
- Servlet中的doFilter方法
- chain.doFilter(request,respnse)
- Java中的过滤器doFilter里的chain.doFilter()函数理解
- chain.doFilter(request,response)含义
- chain.doFilter(request,response)含义
- chain.doFilter(request,response) 解析
- chain.doFilter(request,response)含义
- chain.doFilter(request,response)含义
- chain.doFilter(request,response)含义
- React Native中的网络请求fetch和简单封装
- 找出N个整数中最大的K个数
- Spring中Bean的管理及ApplicationContext的使用
- 每日练习(13)
- bubblesort 冒泡排序 java
- doFilter如何使用
- Java中堆与栈的关系
- jsp自定义标签
- jq_ajax 简单应用
- 【web漏洞百例】1.日志伪造、堆检查
- Spring Cache 集成 Redis 简单实现
- Handle与线程
- C#设计模式--单例(Singleton)
- 【摘录】写给程序员的数据挖掘技术