首页 > 其他 > 详细

j2ee之Filter使用实例(页面跳转)

时间:2015-09-07 22:24:07      阅读:276      评论:0      收藏:0      [点我收藏+]

  javax.servlet.Filter类中主要有三个方法。

public void destroy();  //销毁对象
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain); //执行Filter响应的代码写在这个方法里
public void init(FilterConfig fConfig);  //初始化对象

  先建立一个web工程,建立两个JSP页面,而本文中的程序主要实现的就死利用doFilter()方法,从index1.jsp跳转到index2.jsp。

  建立好index1.jsp页面和index2.jsp。

  下面配置一下WEB.xml,配置WEB.xml中的Filter和配置Servlet一样,类名和类包,然后是映射,很简单。

<filter >
  <filter-name>filter</filter-name>
  <filter-class>com.Filter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>filter</filter-name>  //应该与上面的filter-name一致
  <url-pattern>*.action</url-pattern>  //任何以.action结尾页面请求都可以被返回给filter
  </filter-mapping>

  然后是index1.jsp页面,只需要写一个

<a href = "forward.jsp">点击此跳转致index2.jsp</a>

  测试一下是否跳转成功即可,index2.jsp内容随便(this is my page!)。

  接下来是配置com包中Filter类中的doFilter()方法。具体代码如下:

HttpServletRequest req = (HttpServletRequest) request;
        String path = req.getServletPath();  //此方法只有HttpServletRequest类中有,获得页面响应的路径
        System.out.println(path);
        if("/forward.action".equals(path)){  //如果与index1.jsp中href中的地址一致则跳转index2.jsp
            request.getRequestDispatcher("index2.jsp").forward(request,response);
        }else{                               //如果不一致则跳转index3.jsp页面
            request.getRequestDispatcher("index3.jsp").forward(request,response);
        }
        
        chain.doFilter(request, response);

  以上。

j2ee之Filter使用实例(页面跳转)

原文:http://www.cnblogs.com/xiangxi/p/4789985.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!