WEB.XML
<filter>
<filter-name>infoFilter</filter-name>
<filter-class>com.InfoFilter</filter-class>
<init-param>
<param-name>illegal</param-name>
<param-value>cat,pig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>infoFilter</filter-name>
<url-pattern>/Comment</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Comment</servlet-name>
<servlet-class>com.Comment</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Comment</servlet-name>
<url-pattern>/Comment</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
----------------------------------------------------------------
public class Comment extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("------service-----");
String addr =request.getRemoteAddr();
System.out.println(addr);
String info = request.getParameter("info");
System.out.println("servlet info:" + info);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>info:"+ info + "</h1>");
}
-----------------------------------------------------------------
public class InfoFilter implements Filter {
private FilterConfig config;
/**
* web服务器删除Filter实例前,调用该方法
* 用于释放资源
*/
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
System.out.println("--------Filter---------");
HttpServletRequest request = (HttpServletRequest)arg0;
HttpServletResponse response = (HttpServletResponse)arg1;
String info = request.getParameter("info");
System.out.println("filter info:" + info);
String illegalStr = config.getInitParameter("illegal");
String[] illegalStrs = illegalStr.split(",");
for (int i = 0; i < illegalStrs.length; i++) {
if(info.indexOf(illegalStrs[i])!= -1)
{
PrintWriter out = response.getWriter();
out.println("<h1>illegal info!</h1>");
return;
}
}
//将请求传给下一个组件(可能是一个Filter,也可能是一个servlet)
arg2.doFilter(arg0, arg1);
}
/**
* 用于初始化
* web服务器在实例化完成Filter之后,然后调用
* init()之前,实例化一个FilterConfig对象,然后在调用init()
* FilterConfig提供了方法,用来访问当前Filter的配置参数
*/
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
config = arg0;
}
}
分享到:
相关推荐
本文将深入探讨`Filter`的使用,并以一个登录验证的实例来阐述其工作原理和应用。 `Filter`是Java Servlet规范定义的一种机制,它允许开发者在请求到达目标Servlet或JSP之前以及响应离开Servlet容器返回给客户端...
2. **过滤图**:多个过滤器通过连接形成一个过滤图(Filter Graph),表示了媒体数据从源到最终显示的完整处理流程。构建正确的过滤图是播放媒体的关键。 3. **网络源过滤器**:在网络媒体播放中,需要使用支持HTTP...
微过滤器(Minifilter)是微软在Windows操作系统中引入的一种新型文件系统过滤驱动模型,它是File System Filter Manager的一部分,旨在替代传统的文件系统挂钩(FSDH)。与FSDH相比,Minifilter提供了一种更加稳定...
过滤器负责处理特定的媒体任务,如视频捕获、解码、音频混合等,而连接器则负责将这些过滤器连接起来形成一个数据流处理管道。这种模块化设计使得DirectShow能够灵活地处理各种多媒体任务。 在这个压缩包中,...
DirectShow通过图形化表示的Filter Graph来管理和协调媒体数据的处理流程,每个Filter则代表图中的一个处理单元,如捕获设备、解码器、渲染器等。 Filter之间的连接是通过pins(引脚)完成的,pins定义了数据流动的...
10. **过滤器(Filter)与监听器(Listener)**:这两个组件用于扩展Servlet容器的功能,可能包括登录验证、URL重写、session监听等。 11. **Ajax(Asynchronous JavaScript and XML)**:提升用户体验的技术,可能...
在创建播放器时,我们需要找到适合的源过滤器(如MP3解码器)和渲染过滤器(如音频硬件输出),并将它们之间的Pins正确连接,以形成一个数据流处理图(Filter Graph)。 首先,你需要创建一个Filter Graph Manager...
7. **过滤器(Filter)和监听器(Listener)**:在Java Web中,过滤器用于拦截请求和响应,进行预处理或后处理,而监听器则监控Web应用的特定事件。源代码可能包含了登录检查过滤器、Session监听器等。 8. **Ajax...
例如,一个典型的播放过滤器图可能包含源过滤器(获取媒体源)、解码过滤器(将编码的媒体数据转化为原始格式)和渲染过滤器(将媒体数据显示或输出到音箱)。 在压缩包中的DirectShow范例源代码,可能会涵盖以下几...
Happytime视频处理DirectShow过滤器是一个强大的传输过滤器。 可以旋转视频90,180,和270度,在90度和270度旋转时保持宽纵横比。 可以水平或垂直翻转视频,垂直或水平位移,缩放视频等 使用特殊的优化算法,超出你...
开发者需要配置`AndroidManifest.xml`文件,声明对特定域的Intent过滤器,并通过`intent-filter`来声明支持的URL结构。此外,还需要设置应用验证,以确保只有被授权的应用才能处理链接。 此外,Android 6.0 SDK还...
这是每个Servlet项目的关键配置文件,用于定义Servlet和过滤器。在`<web-app>`标签内添加Struts2的Filter配置,如: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2....
- **过滤器(Filter)**:可以进一步限制搜索结果,如按日期、ID 过滤。 - **高亮显示(Highlighter)**:突出显示查询术语在搜索结果中的出现部分。 - **近实时搜索(Near Real-Time Search)**:索引更新后,...
本次作业要求综合运用 STL,实现一个简单的垃圾邮件过滤程序。 2、要求 (1)输入:您的执行程序必须能够读入三个参数。 第一个参数为垃圾邮件关键字文件名称 第二个参数为输入的电子邮件文件名称 第三个参数为...
例如,可以使用过滤器进行权限检查、字符编码转换等。 5. **Listener**:监听器是实现特定接口的Java类,它们监听Web应用中的特定事件,如会话创建、销毁、请求初始化等,可以用来执行相应的逻辑操作。 除了这些...
- 配置struts2的核心过滤器`struts2-convention-plugin.jar`在web.xml中,设置filter-name和filter-class,以及对应的filter-mapping。 - 创建struts2的主配置文件struts.xml,定义Action、结果类型和其他相关配置...
本项目"android-image-filter-ndk"是一个开源示例,它展示了如何利用NDK在C语言中处理Android位图,实现图像过滤器功能。 一、Android NDK基础 1. NDK的作用:NDK为Android应用提供了本地编程环境,使得开发者可以...
JSP可以通过Java Servlet API中的HttpServletRequest对象的login()方法实现基本的身份验证,而授权则可以通过过滤器(Filter)和安全性相关的Servlet API来完成,例如使用JAAS(Java Authentication and ...
范例影片没有过滤器 申请 申请 申请 在ExoPlayer视频上应用视频过滤器 在使用Camera2的视频录制上应用视频过滤器。 Gradle 步骤1.将JitPack存储库添加到您的构建文件中 allprojects { repositories { .. ...