zoukankan      html  css  js  c++  java
  • j2ee之Filter使用实例(页面跳转)

      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);

      以上。

  • 相关阅读:
    [转] 一封程序员的情书
    [**收集**]实用的网站
    [转] 绝对实用!60款免费软件逐个点评下载
    [*日语学习笔记*] 大家的日语初级1动词活用笔记
    [转] IT人不可不听的10个职场故事
    【转图】从可乐到NIKE 经典logo的web2.0版
    [转] 常用姓氏读法
    [转] 数据库开发个人总结(ADO.NET小结)
    [转] VB十七种可用一行代码完成的技巧
    [转] 程序员爱情观XP版本 (敏捷版本)
  • 原文地址:https://www.cnblogs.com/xiangxi/p/4789985.html
Copyright © 2011-2022 走看看