`

doFilter如何使用

    博客分类:
  • xml
阅读更多
我来给你简单的说一下吧:)
首先要明确。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继续运行哦
--------------------------------
分享到:
评论
5 楼 Mr丶Chenn 2016-09-14  
|||||||||||||
||||||||||||
||||||||||||
|||||||||||
|||||||||||
||||||||||
||||||||||
|||||||||
|||||||||
||||||||
||||||||
|||||||
|||||||
||||||
||||||
|||||
|||||
||||
||||
|||
|||
||
||
|
|
4 楼 Mr丶Chenn 2016-09-14  
[url][url][url][url][/url][/url][/url][/url]
3 楼 Mr丶Chenn 2016-09-14  
2 楼 Mr丶Chenn 2016-09-14  
引用
引用
引用
引用
引用
1 楼 salouhim 2011-10-11  
刚捡起这些,备忘!还忘多指教!

相关推荐

    过滤doFilter

    java过滤(Filter)--过滤乱码、登陆等。

    dofilter过滤器

    是一个关于doFilter过滤器的执行过程的,详细介绍

    跨域访问Filter实例

    JAVA配置跨越访问Filter APP要访问WEB系统,需要进行跨域设置 关键: public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {}

    java filter过滤器

    过滤器Filter也具有生命周期:init()-&gt;doFilter()-&gt;destroy(),由部署文件中的filter元素驱动。在servlet2.4中,过滤器同样可以用于请求分派器,但须在web.xml中声明,&lt;dispatcher&gt;INCLUDE或FORWARD或REQUEST或ERROR...

    SpringBoot中使用过滤器(Filter)和拦截器(Interceptor)案例

    在通过Google Chrome进行URI请求时Filter的doFilter中的输出(sout)语句会被打印两次,原因是Chrome在进行请求URI的时同时请求了http://localhost:8080/favicon.ico可以使用Charles (Web Debugging Proxy)工具进行...

    Filter(过滤器)简介和工作原理

    参数 chain 为代表当前 Filter 链的对象,在特定的操作完成后,可以在当前 Filter 对象的 doFilter 方法内部需要调用 FilterChain 对象的 chain.doFilter(request,response) 方法才能把请求交付给 Filter 链中的下一...

    java head space.txt

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core....

    Servlet过滤器使用

    这个方法完成实际的过滤操作,当客户请求访问于过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器。 c、destroy(): Servlet容器在销毁过滤器实例前调用该方法,...

    责任链模式 ChainFilter

    简单的责任链代码 博文链接:https://liucunzhi.iteye.com/blog/1636463

    2种解决JSP中request乱码问题.docx

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // Conditionally select and set the character encoding to be used if ...

    jsp用过滤器解决中文乱码问题的方法.docx

    为了解决这个问题,我们可以使用jsp过滤器来实现编码设置。我今天要分享的就是使用jsp过滤器解决中文乱码问题的方法。 什么是jsp过滤器? jsp过滤器(Filter)是一种特殊的jsp组件,用于对jsp页面的请求和响应进行...

    JSP,Servlet做的人力资源管理系统

    如果你工程名用的不是HRManagement,请到com.hrm.filter里的loginfilter.java中在doFilter方法里修改HRManagement为你自己的工程名;页面做的可能不是太好,功能基本都实现,用户名和密码请使用admin和123.

    Filter_Listener相信代码使用

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest reque=(HttpServletRequest) request; System.out...

    apache-tomcat-7.0.69.zip

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core....

    过滤器 处理乱码

    本段代码用来处理jsp页面乱码问题,适用于所有乱码

    解决中文乱码的Filter类ChineseFilter.java

    解决中文乱码的Filter类,解决中文乱码的Filter类,解决中文乱码的Filter类

    Web应用与开发作业

    (3)并不是所有的浏览器都能完全支持上面的3个响应头,因此最好是同时使用上面的3个响应头。 2、Filter的理解和应用 设计一个简单的IP地址过滤器,根据用户的IP地址进行网站的访问控制。例如:禁止IP地址处在192....

    购物车源码

    public void doFilter ServletRequest sRequest ServletResponse sResponse FilterChain chain throws IOException ServletException { HttpServletRequest request HttpServletRequest sRequest; String ...

    解决乱码问题

    使用filter解决乱码问题,分为编写doFilter和在web.xml中配置过滤器

    javaweb拦截器配置及原理.doc

    4. 如果调用了 chain.doFilter(request, response) 方法,将请求反给服务器,服务器再去调用相应的 Servlet。 5. 如果没有调用 chain.doFilter(request, response) 方法,说明拒绝了用户的请求。 在实际 Web 应用中...

Global site tag (gtag.js) - Google Analytics