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

王朝学院·作者佚名  2016-08-27  
宽屏版  字体:  |  |  | 超大  

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

publicvoiddestroy();//销毁对象publicvoiddoFilter(ServletRequest request, ServletResponse response, FilterChain chain);//执行Filter响应的代码写在这个方法里publicvoidinit(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页面,只需要写一个

<ahref= "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);

以上。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有