一个简单的Filter例子.
/**
* Description: Filter.
*
* Created on:2007-9-25 上午8:41:23
*
* @author Lzs
*
* @version 1.0
*/
public class LzsFilter implements Filter {
private FilterConfig fConfig;
private String reidrect;
private String enable;
private String ignore;
private String[] ign;
public void destroy() {
fConfig = null;
reidrect = null;
enable = null;
ignore = null;
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) arg0;
User user = (User) request.getSession()
.getAttribute(Constants.USER_KEY);
boolean ttt=false;
// 配置过滤器的有效性
if ("true".equalsIgnoreCase(enable)) {
if (user == null) {
for (int i = 0; i < ign.length; i++) {
if (ign[i].equalsIgnoreCase(request.getServletPath())) {
arg2.doFilter(arg0, arg1);
ttt=true;
break;
}
}
if(!ttt){
RequestDispatcher rd=null;
rd=request.getRequestDispatcher(reidrect);
rd.forward(arg0, arg1);
}else{
arg2.doFilter(arg0, arg1);
}
} else {
arg2.doFilter(arg0, arg1);
}
} else {
arg2.doFilter(arg0, arg1);
}
}
public void init(FilterConfig arg0) throws ServletException {
fConfig = arg0;
reidrect = fConfig.getInitParameter("redirect");
enable = fConfig.getInitParameter("enable");
ignore = fConfig.getInitParameter("ignore");
StringTokenizer token = new StringTokenizer(ignore, ",");
ign = new String[token.countTokens()];
int i = 0;
while (token.hasMoreElements()) {
ign[i++] = (String)token.nextElement();
}
}
}
web.xml配置信息如下:
<!----><!----><!----> <filter>
<filter-name>LzsFilter</filter-name>
<filter-class>com.nokia.smp.acms.web.filter.LzsFilter</filter-class>
<init-param>
<param-name>redirect</param-name>
<param-value>/logon.jsp</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>/logon.jsp,/logon.do</param-value>
</init-param>
<init-param>
<param-name>enable</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LzsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
### 开发一个简单filter的例子 #### 背景与目的 对于DirectShow(DShow)初学者来说,能够动手开发一个简单的filter是非常重要的一步。它不仅有助于理解filter的基本结构,还能帮助开发者熟悉DirectShow的工作原理...
如何创建一个简单的Filter
Filter Solutions 简易教程 Filter Solutions 是一种滤波器设计软件,旨在帮助用户快速设计和实现滤波器电路。下面是 filter solutions 简易教程的知识点总结: 一、Filter Solutions 软件简介 * Filter ...
在这个特定的案例中,我们关注的是一个实现图像翻转功能的Transform Filter,标题为"一个翻转图像的Transform Filter"。这个滤镜是基于DirectX(Dx)技术,因此,标签“Filter Dx”表明它是利用DirectX API来处理...
本文将深入讲解Filter的基本使用,通过一个简单的入门例子来帮助理解其工作原理。 首先,让我们了解什么是Filter。在Servlet规范中,Filter是一个接口,它允许开发者在请求到达目标Servlet或JSP之前对其进行拦截,...
回到主题,"简单的servlet+Filter的例子"可能涉及到一个简单的应用场景,比如登录验证。在用户尝试访问受保护的资源(如Servlet)之前,Filter会检查请求中是否携带了有效的session信息。如果没有,Filter会重定向...
每个Filter由多个Pin(端口)连接,形成一个数据流处理的图,称为Filter Graph。Filters之间的Pin通过连接传递数据,构建出媒体流处理的路径。 在"dsfiltersrc"这个例子中,我们可能看到的是一个Source Filter的...
Search & Filter 是一个简单的 WordPress 搜索和过滤插件。 它是 WordPress 搜索框的进步,添加了分类过滤器以真正优化您的搜索! 您可以轻松地按类别、标签、自定义分类法或这些的任意组合进行搜索 - 您甚至可以...
下面是一个简单的Filter示例: ```java import javax.servlet.*; import java.io.IOException; public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ...
例如,以下是一个简单的配置示例: ```xml <filter> <filter-name>CORS</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> <param-name>cors.allowGenericHttpRequests ...
在IT领域,尤其是在Web开发中,`FilterBuilder`是一个重要的工具,它允许用户构建自定义的查询和过滤条件,以动态地筛选数据。这个组件通常用于数据量大、需要复杂查询逻辑的应用场景,如数据分析、报表展示或者管理...
虽然描述部分为空,但我们可以从标题推测,博主可能详细讲解了如何创建一个基本的Filter类,实现Filter接口,并覆盖doFilter方法,这个方法是Filter的核心,它接受ServletRequest和ServletResponse对象作为参数,...
`Datagrid-filter`插件正是针对这种需求设计的,它是一个高效且实用的Grid插件,旨在提升数据网格的可操作性和用户交互性。这个插件的核心功能是为每一列提供过滤条件,使得用户能够快速筛选出所需的信息,极大地...
在IT行业中,尤其是在Web开发领域,跨域资源共享(CORS,Cross-Origin Resource Sharing)是一个重要的概念,它允许浏览器向不同的源(域名、协议或端口)发送Ajax请求,以突破同源策略的限制。Tomcat作为一款广泛...
例如,我们可以编写一个简单的登录检查过滤器: ```java import javax.servlet.*; import java.io.IOException; public class LoginCheckFilter implements Filter { @Override public void init(FilterConfig ...
以下是一个简单的`Filter`使用示例: ```java public class MyAdapter extends BaseAdapter implements Filterable { private List<MyData> originalList; // 原始数据 private List<MyData> filteredList; // ...
总结,"jQuery Multiselect Filter"插件是一个实用的前端工具,通过简单的配置,就能为多选下拉框增加高效、友好的筛选功能。对于那些需要处理大量选项的场景,它无疑能显著提升用户的操作体验。在实际项目中,...
下面是一个简单的登录检查`Filter`实现: ```java public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException {} @Override public ...
本示例"securityfilter简单例子"提供了一个简化的安全过滤器应用,适用于中小型网站的基础安全需求。 **一、SecurityFilter的工作原理** 1. **Filter接口**:在Servlet API中,Filter接口定义了三个核心方法:`...
本项目“一个简易新闻管理系统”就是这样一个典型的应用实例,它结合了JSP、Servlet、Filter以及MySQL数据库,为初学者提供了很好的学习材料,同时也是毕业设计或课程设计的理想选择。 首先,让我们了解一下JSP...