A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.
Filter是针对客户端向服务器请求资源的时候,过滤和校验该请求是否有效的一种方式,其具体的实现方式是.在web.xml中定义
<filter></filter>
xml 代码
- <filter>
- <filter-name>myFilter</filter-name>
- <filter-class>com.test.MyFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>myFilter</filter-name>
- <servlet-name>myServlet</servlet-name>
- </filter-mapping>
- <servlet>
- <servlet-name>myServlet</servlet-name>
- <servlet-class>com.test.MyServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>myServlet</servlet-name>
- <url-pattern>/myServlet</url-pattern>
- </servlet-mapping>
上面是请求一个myServlet时候,myFilter对其该请求过滤.代码如下:
java 代码
- package com.test;
-
- import javax.servlet.Filter;
- import javax.servlet.FilterConfig;
- import javax.servlet.FilterChain;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletResponse;
-
- public class MyFilter implements Filter {
- public void init(FilterConfig filterConfig) {
-
- }
-
- public void destroy() {
-
- }
-
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) {
- String testValue = request.getParameter("TestValue");
- System.out.println("TestValue="+testValue);
- try {
- if (testValue.equals("1"))
- chain.doFilter(request, response);
- else{
- ((HttpServletResponse)response).sendRedirect("index.jsp");
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
- }
分享到:
相关推荐
在Java Web开发中,`javax.servlet`包是核心的API之一,它提供了处理HTTP请求和响应的标准接口。这个jar包是Java Servlet规范的一部分,用于构建动态、交互式的Web应用程序。当你遇到“找不到javax.servlet.*”这样...
`javax.servlet-api-3.1.0.jar`是Servlet 3.1规范的API接口定义,它定义了Web应用如何与Web服务器交互的一系列接口和类。Servlet 3.1引入了一些新特性,如异步处理、注解驱动的Servlet和过滤器配置、支持WebSocket...
javax.servlet.http.HttpSessionBindingListener.class javax.servlet.http.HttpSessionBindingEvent.class javax.servlet.http.HttpSessionEvent.class javax.servlet.http.HttpSession.class javax.servlet....
它们通过实现不同的监听器接口,如`javax.servlet.ServletContextListener`,`javax.servlet.http.HttpSessionListener`,可以在事件触发时执行相应的操作。 `javax.servlet-api-3.1.0.jar`不仅包含这些基本组件的...
如果你在运行Java Web应用时遇到“找不到类”的异常,可能是因为`javax.servlet`包没有正确地包含在你的项目中。导入`javax.servlet.jar`后,确保你的IDE或构建工具已经更新了类路径,这样编译器和运行时环境才能...
6. `javax.servlet.annotation`包:包含了各种注解,比如`@WebServlet`、`@WebFilter`和`@WebListener`,使得开发者可以通过注解方式声明Servlet、过滤器和监听器,简化了web.xml配置文件的编写。 7. `javax....
本资源包含两个版本的`javax.servlet` API源码包:`javax.servlet-api-4.0.0-sources.jar` 和 `servlet-api-2.5-sources.jar`。 **1. javax.servlet-api-4.0.0-sources.jar** 这是Servlet API的4.0.0版本源码,此...
`javax.servlet.jar` 包是Java Servlet API的核心库,它包含了一系列用于开发Web应用程序的接口和类。这个库是Java平台企业版(Java EE)的一部分,允许开发者创建动态、交互式的Web服务。在Servlet技术中,`javax....
【标题】"javax.servlet-3.0" 是Java服务器页面(JSP)和Servlet技术的一个重要版本,这个版本主要关注于提升Web应用的性能、可扩展性和灵活性。它是由Java Community Process (JCP) 通过JSR(Java Specification ...
4. **Filter**: 允许在请求到达Servlet之前对其进行拦截和处理,实现请求过滤功能。 5. **FilterChain**: 过滤器链,用于按顺序调用一系列过滤器。 6. **ServletContext**: 提供了整个Web应用程序的上下文信息,如...
【标题】"javax.servlet3.0 javax.servlet_jsp2.0源码"涉及的是Java Servlet和JSP(JavaServer Pages)技术的核心API,这两个组件是Java Web开发的基础。源码分析可以帮助我们深入理解它们的工作原理。 【描述】...
`javax.servlet-api`是一个关键的Java库,它定义了Servlet、过滤器(Filter)和监听器(Listener)等核心接口,是开发Java Servlet应用的基础。这个库通常以JAR(Java Archive)文件的形式存在,例如在提供的`javax....
javax.servlet.Filter javax.servlet.Servlet javax.servlet.FilterChain javax.servlet.http.Cookie javax.servlet.FilterConfig javax.servlet.ServletConfig javax.servlet.GenericServlet javax.servlet....
9. **Filter**: Filter是javax.servlet.filter包中的接口,用于在Servlet处理请求之前或之后进行拦截和修改。这可以用于登录验证、数据转换、日志记录等功能。多个Filter可以通过配置进行链式调用。 10. **...
【描述】"javax.servlet-api中问,英文 chm" 指出这个资料主要涉及的是Java的javax.servlet-api包,这是Java Servlet技术的核心部分,用于创建Web应用程序。英文版的CHM文件使得国内外开发者都能无障碍地获取相关...
javax.servlet 是Java编程语言中用于构建Web应用程序的标准API,它定义了服务器端Servlet和过滤器的接口和类。Servlet是一种Java程序,它可以接收并响应来自Web客户端(如浏览器)的请求,而过滤器则允许在请求处理...
在压缩包文件的文件名称列表中,如果包含的是`javax`,那么可能包含了`javax.servlet`包下的所有源代码文件。这个包包含了Servlet API中的所有类和接口,如`ServletRequest`、`ServletResponse`、`Filter`等。通过...
JSP-api.jar包含JSP规范定义的接口和类,例如`javax.servlet.jsp.*`和`javax.servlet.http.*`包下的类。这些接口和类使得开发者能够创建自定义的JSP标签库、定义JSP页面指令、处理JSP表达式语言等。例如,`javax....
然而,通常我们不会直接实现这个接口,而是继承`javax.servlet.GenericServlet`或`javax.servlet.http.HttpServlet`,这两个抽象类已经为我们处理了一些通用的功能。 2. **Servlet生命周期**:Servlet的生命周期...
`javax.servlet` 和 `javax.servlet.jsp` 是Java Servlet API的核心包,它们定义了服务器端编程的接口和类。这次提供的压缩包包含了这两个包的源码和jar文件,对于学习和理解Servlet的工作原理非常有帮助。 1. **...