1.什么是Servlet过滤器?
我们日常生活中的水物质
过滤器是采用不同滤料对水进行过滤,到达去除水中部分杂质的一种设备。而web服务中的Servlet过滤器的功能和水物质过滤器的功能类似。servlet过滤器的作用就是根据过滤
条件对HTTP请求进行过滤.
2.Servlet过滤器的功能
- 网站内容访问权限过滤
- 网站信息发布、修改,屏蔽非法字符
-
对请求内容进行
统一编码
3.编码
package com.tao.common.power.filter;
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;
public class PowerFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
boolean flag = true;
HttpServletRequest req = (HttpServletRequest) request;
System.out.println(req.getRequestURI());
if (flag) {
chain.doFilter(request, response);
} else {
request.getRequestDispatcher("/error/power.jsp").forward(request, response);
}
}
public void destroy() {
}
}
4.配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 权限控制 -->
<filter>
<filter-name>power</filter-name>
<filter-class>com.tao.common.power.filter.PowerFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>power</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
分享到:
相关推荐
- `Filter`和`FilterChain`: 用于实现请求过滤器,可以在请求到达Servlet之前进行预处理,或在响应发送回客户端之后进行后处理。 - `DispatcherType`: 定义了不同的请求调度类型,如REQUEST、FORWARD、INCLUDE等。...
开发者可以通过实现`javax.servlet.Filter`接口来创建过滤器,并通过`web.xml`部署描述符配置过滤规则。 Listener则是在特定事件发生时被调用的类,比如session创建、销毁或请求初始化等。它们通过实现不同的监听器...
在标题"Servlet过滤器的简单使用源码+文档"中,我们可以理解为这个压缩包包含了一个关于Servlet过滤器的基础应用示例,以及相关的源代码和文档资料。描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证...
5. **Filter**:Servlet API还提供了过滤器(Filter)概念,允许在请求到达Servlet之前或之后执行一些预处理或后处理操作,例如认证、字符编码转换、日志记录等。 6. **MVC(Model-View-Controller)模式**:虽然...
本教程将深入讲解如何配置和使用Servlet过滤器,以及介绍五个经典的过滤器实例。 首先,让我们理解Servlet过滤器的基本概念。根据Java Servlet规范,过滤器(Filter)是一个实现了javax.servlet.Filter接口的类,它...
这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain)...
总的来说,Servlet-API.jar和javax.servlet.jar是Java Web开发的基础,它们提供了处理HTTP请求、管理会话、执行过滤器和监听器等功能,是构建Web应用程序不可或缺的部分。通过理解和熟练使用这些API,开发者可以构建...
因此,使用Servlet过滤器(Filter)来处理这类问题成为了一种更加优雅的解决方案。 #### 实例目标 本实例的目标是设计并实现一个简单的Servlet过滤器,用于检查用户的登录状态。具体来说,当用户通过正常的登录...
#### 二、解决方案:使用Servlet过滤器 Servlet过滤器是一种可以拦截请求和响应的组件,它可以在请求到达目标资源之前或响应返回客户端之前进行预处理。通过配置过滤器来统一处理字符编码问题,可以有效避免乱码的...
Servlet 3.1引入了一些新特性,如异步处理、注解驱动的Servlet和过滤器配置、支持WebSocket等。通过这个API,开发者可以创建Servlet来处理HTTP请求,实现动态网页内容的生成。 2. **Servlet 2.5**: `servlet-api-...
通过这个简单的登录demo,初学者可以学习到如何使用Servlet过滤器进行权限控制,以及session和cookie在用户管理中的应用。这有助于理解Web应用程序中的身份验证和会话管理机制,为更复杂的Web应用开发打下基础。
5. `javax.servlet.Filter`和`FilterChain`:这些接口用于实现过滤器功能,可以在请求到达Servlet之前或之后进行拦截处理,如身份验证、日志记录、性能优化等。 6. `javax.servlet.annotation`包:包含了各种注解,...
javax.servlet 是Java编程语言中用于构建Web应用程序的标准API,它定义了服务器端Servlet和过滤器的接口和类。Servlet是一种Java程序,它可以接收并响应来自Web客户端(如浏览器)的请求,而过滤器则允许在请求处理...
使用Servlet过滤器时应注意,尽管`Filter`、`FilterConfig`和`FilterChain`位于`javax.servlet`包下,但实际操作中涉及的请求和响应对象通常需转换为HTTP特定类型,即`HttpServletRequest`和`HttpServletResponse`,...
通过阅读源码,还可以学习到如何扩展Servlet容器,创建自定义Servlet过滤器和监听器,以及优化性能和处理异常。 总之,`javax.servlet.*`、`javax.servlet.http.*`和`javax.servlet.jsp.*`是Java Web开发的基础,...
`javax.servlet-api-4.0.1.jar`包含了这些接口和类,使得开发者能够在自己的应用中实现HTTP服务、会话管理、过滤器、监听器等功能。 在JSP中,自定义标签提供了一种扩展HTML标签的能力,使得开发者可以创建具有特定...
Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。本教程将详细介绍如何在Eclipse环境中创建并实现一个Servlet过滤器。 一、Servlet过滤器...
在本实例中,我们将深入探讨Servlet过滤器(Filter)的使用和实现,以及它在实际应用中的重要性。 一、Servlet过滤器简介 Servlet过滤器遵循Java Servlet规范,通过实现`javax.servlet.Filter`接口来创建自定义过滤...
10. **部署描述符(web.xml)**:Web应用的部署描述符`web.xml`是XML格式的配置文件,用于配置Servlet、过滤器、监听器等,定义它们的映射、初始化参数和依赖关系。 总结起来,`javax.servlet`包是Java Web开发的...