1)过滤器类一
package web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FilterTest implements Filter{
private FilterConfig filterConfig;
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("destroy....");
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request=(HttpServletRequest)arg0;
HttpServletResponse response=(HttpServletResponse)arg1;
String name=(String)request.getParameter("name");
String param=filterConfig.getInitParameter("illegalStr");
System.out.println(param+"............");
if(name.equals("wangqisen")){
PrintWriter pw=response.getWriter();
pw.println("nameerror");
}else{
arg2.doFilter(arg0, arg1);
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
this.filterConfig=arg0;
}
}
2)过滤器类二
package web;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FilterTest2 implements Filter{
private FilterConfig filterConfig;
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest req=(HttpServletRequest)arg0;
HttpServletResponse res=(HttpServletResponse)arg1;
String name=req.getParameter("name");
String forbbiden=filterConfig.getInitParameter("forbidden");
if(name.equals(forbbiden)){
System.out.println("forbidden error ............");
}else{
arg2.doFilter(arg0, arg1);
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
this.filterConfig=arg0;
}
}
3)在配置文件中添加过滤器。注意filter标签应该在servlet标签前面声明。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>filter1</filter-name>
<filter-class>web.FilterTest</filter-class>
<init-param>
<param-name>illegalStr</param-name>
<param-value>pig</param-value>
</init-param>
</filter>
<filter>
<filter-name>filter2</filter-name>
<filter-class>web.FilterTest2</filter-class>
<init-param>
<param-name>forbidden</param-name>
<param-value>zhangfei</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>filter1</filter-name>
<url-pattern>/filterTest</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>filter2</filter-name>
<url-pattern>/filterTest</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>filterTest</servlet-name>
<servlet-class>web.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>filterTest</servlet-name>
<url-pattern>/filterTest</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
分享到:
相关推荐
行业资料-交通装置-一种多重过滤的车载净化器.zip
该项目建立了一个网站,该网站为用户提供了先进的多重过滤器,以便更广泛地使用 leetcode。 • 利用请求库和GraphQL API 从leetcode 网站抓取问题详细信息。 • 使用多处理将性能提高 200%。 • 使用Django 对象关系...
网络游戏-基于指纹多重哈希布隆过滤器的网络取证内容溯源方法.zip
Webapp的安装程序具有使用react和Typescript的多重选择过滤器组件。 该项目基于弹出的 。 弹出提示 该基础项目已被有意弹出。 使用重新接线(在不弹出的情况下覆盖create-react-app webpack配置)无法与Typescript...
基于SMTP过滤器的,具有基于规则的、附件扫描的、可清除恶意脚本的多重过滤能力的邮件过滤系统,是邮件安全防护系统的基础。在此基础上,一方面对SMTP过滤器的功能进行扩充,使其成为独立的邮件服务器,直接满足用户...
随着电子邮件的应用与普及,...缺点,通过引入分级的最小风险算法和对多项式和多重贝努利估计模型进行混合的方法分别对贝叶斯过滤器进 行了改进,并进行了实验。实验结果表明,改进后的贝叶斯过滤器具有了更好过滤效果
它使用以下约定为每个过滤器生成一个属性: "#{filter}Selected" 因此,如果您添加了一个名为“状态”的过滤器,则您要更新的属性为“ statusSelected”。 我们使用对象而不是数组来允许覆盖。 假设您有两个由...
原则关联映射支持表单和过滤器中的多对一,一对一和多对多(如果关系是拥有方) 排序 每页项目 多行批量操作(删除) 从索引中删除 在生成的视图中设置基本模板。 可以为所有生成的文件设置保存路径(默认情况下...
销售洞察仪表板通过连接SQL和Tableau,准备了公司数据库的2个仪表板(收入分析和利润分析)。 通过创建计算字段,上下文过滤器并使用交互式图形绘制多个分析来在Tableau中执行ETL。
PeaZip 有强大的多重过滤器;一次处理多个压缩包;输出任务定义为命令行;使用 AES256 等加密。 其他功能: 分割/合并文件(文件范围)、安全擦除、比较、校验和计算文件散列、系统基准测试、生成随机密码和密钥文件。...
iFoto HDR For Mac版是一款可以在苹果电脑MAC OS平台上使用的图片编辑软件,该软件的主要作用就是可以为照片添加HDR效果,软件提供了先进的算法,能够有效地解决...•多重预设HDR过滤器呈现不同的HDR图像惊人的输出。
常用的几个过滤器设置,还有注释,觉得还可以用用, 推荐用用!
滤波器仿真软件模拟出最大数值的过滤器,可以通过内置的设备模拟以及数据测试方案找到不同阶段测试数据发生的变化,支持基本的步骤建立分析环境,可以输入不同的滤波数值查看曲线变化,可以使用可用的命令控制曲线。...
根据构件损伤的多重分步识别思路,把构件损伤识别过程分为:利用神经网络建立损伤异常过滤器对构件损伤进行预警;以频率构造的组合指标作为神经网络输入向量,对构件损伤进行初步定位;以频率和模态振型构造的组合指标...
为了构建 3D ResNet-18,2D ResNet-18 的 2D 过滤器在第三维中扩展为具有 3D 过滤器。 其余层根据新过滤器进行了调整。 然后,将整个 MRI 用于训练 3D ResNet-18,以对每个人做出一个决定。 我们的结果表明,将...
9.6. 使用过滤器对数据包进行分类 55 9.6.1. 过滤器的一些简单范例 56 9.6.2. 常用到的过滤命令一览 57 9.7. IMQ(INTERMEDIATE QUEUEING DEVICE,中介队列设备) 58 9.7.1. 配置范例 58 第10章 多网卡的负载均衡 ...
为导出在UTDF8为导出CSV过滤器添加新属性使用UTF8编码存储Unicode文本 为新类增加RTTI信息 改善、修复模版继承问题 优化导出为PDF的复选框 漏洞修复: 修复脚本继承功能 修复导出为PDF图片会出现阴影问题 修复交互...
源节点利用MDC将图像帧分成多个等同重要的描述,利用提出的多径路由策略寻找多条边不相交路径,并选择合适的中间合并点对描述进行合并,利用链接错误信息对受损描述进行中间修复,目的节点利用2×2过滤器和像素错误...
支持类似wireshark过滤器的过滤语句,并从一个普通程序员的角度出发做了一些调整和优化。 网络封包的处理使用了多重缓存机制,不会因为封包的分析阻塞网络数据的接收。 主界面大小可变,可以随意拖动,并且提供了...