Servlet 过滤器Filter
特点
1)Filter是依赖于Servlet容器,属于Servlet规范的一部分,在Servlet API中定义了三个接口类:Filter, FilterChain, FilterConfig。
2)基本功能是对 调用 Servlet 的过程进行拦截,从而在 Servlet 进行响应处理的前后实现一些特殊的功能。
3)需要在 web.xml 文件中进行注册和设置它所能拦截的资源。
编码
public class UserNoFilter implements Filter {
private FilterConfig filterConfig; //获取参数配置
public void init(FilterConfig fConfig) throws ServletException {
this.filterConfig = fConfig;
}
/**
* 业务逻辑判断
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
String initUser = filterConfig.getInitParameter("userNo");
String userNo = request.getParameter("userNo");//从提交请求获取用户账号
if(!initUser.equals(userNo)){
request.setAttribute("message", "用户名不正确");
request.getRequestDispatcher("/index.jsp").forward(request, response);
return;
}
chain.doFilter(request, response);
}
public void destroy() {
}
}
web.xml参数
<!-- 配置过滤器 -->
<filter>
<display-name>UserNoFilter</display-name>
<filter-name>UserNoFilter</filter-name>
<filter-class>com.demo.filter.UserNoFilter</filter-class>
<init-param>
<param-name>userNo</param-name>
<param-value>admin</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UserNoFilter</filter-name>
<url-pattern>/hello.jsp</url-pattern>
</filter-mapping>
应用
1)指定编码格式
request.setCharacterEncoding(encoding);
filterChain.doFilter(request, response);
2)用户是否登录、用户能否访问菜单
String userId=(String) session.getAttribute("userId");
if (userId ==null){
}
Servlet 过滤器Filter的更多相关文章
- Servlet过滤器Filter用法
1 Servlet 过滤器方法 过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类.javax.servlet.Filter 接口定义了三个方法:public void ...
- Servlet基础知识(四)——Servlet过滤器Filter
一.什么是过滤器: 政府大楼的安检保安,它既能对进入政府大楼的人员进行检查,只允许检查符合要求的进入:同时他也负责对出大楼的人进行检查,看他带出的东西是否符合要求. 同样的,Servlet中的过滤器既 ...
- Servlet过滤器Filter和监听器
一.Servlet过滤器的概念: *********************************************************************************** ...
- servlet过滤器Filter(理论篇)
为了减少servlet容器在服务器端对信息的判断量,产生了servlet过滤器. servlet过滤器是在java servlet规范2.3中定义的,他能够对servlet容器的请求和响应对象进行检查 ...
- JavaWeb学习篇之----Servlet过滤器Filter和监听器
首先来看一下Servlet的过滤器内容: 一.Servlet过滤器的概念: ************************************************************** ...
- Servlet过滤器----Filter
JavaEE的Servlet规范描述了三种技术:Servlet,Filter,Listener (一)过滤器简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过F ...
- Servlet 过滤器 Filter
过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类.javax.servlet.Filter 接口定义了三个方法: 下面是对所有编码过滤器 package filter ...
- servlet过滤器Filter使用之DelegatingFilterProxy类
正常情况下,我们需要添加一个过滤器,需要实现javax.servlet.Filter接口,再在web.xml中配置filter,如下: package cc.eabour.webapp.securit ...
- Servlet过滤器和监听器
1,Servlet过滤器 <filter> <filter-name>charset</filter-name> <filter-class>org.g ...
随机推荐
- python 数据分析工具之 numpy pandas matplotlib
作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...
- eclipse新建工作空间后的常用设置
1.设置字体 一般主要设置下面三个地方(其他可以按需进行设置): Window->Preferences->(可以直接搜索font)General -> Appearance -&g ...
- 【转载】npm查看全局安装过的包
在使用node的时候,用npm安装了很多软件,过一段时间没有使用就会忘记,怎么查看自己全局安装过的包,用命令 npm list -g --depth 在百度里搜不到结果的,我在google里老外的文章 ...
- IntelliJ IDEA设置svn.exe的路径
安装TortoiseSVN客户端时,必须选中command line client tools这个选项
- Zabbix(二)
zabbix 监控第一台服务器 https://blog.51cto.com/5001660/2136303 一.搭建一台测试服务器 1.安装一台centos7操作系统 配置网络: vim /etc/ ...
- Autofac使用
创建用例类 创建接口 namespace MyIBLL { public interface IUserBLL { void AddUser(string name, string pass); } ...
- 几道比较有意思的js面试题
1.[] ? !![] : ![];输出结果是什么? 1 2 3 4 5 let val = [] ? !![] : ![]; console.log(val); //true: //之前的错误解释 ...
- 【webpack系列】从零搭建 webpack4+react 脚手架(一)
搭建一个React工程的方式有很多,官方也有自己的脚手架,如果你和我一样,喜欢刨根究底,从零开始自己一行一行代码创建一个React脚手架项目,那你就来对地方了.本教程是针对React新手,以及对web ...
- 通过反射实现get和set方法
/* setter方法 o:要操作类的对象 args:属性名 attributeValue:属性值 */ public static void setXxx(Object o,String args, ...
- Pycharm下同一目录的py文件不能相互调用的原因分析
1.首先确保所在目录是Python Package而不是一般的New Stratch File Python Package下有__init___.py或自己建空的__init___.py 2.pyc ...