1.新建一个FirstFilter类,代码如下:
package com.ask.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;
/*自定义一个java类实现filter接口*/
public class FirstFilter implements Filter {
public FirstFilter(){
System.out.println("FirstFilter: "+this.hashCode());
}
public void init(FilterConfig arg0) throws ServletException {
System.out.println("init: "+this.hashCode());
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
System.out.println("doFilter: "+this.hashCode());
//调用下一个filter或者是web资源
//chain.doFilter(req, res);
}
public void destroy() {
System.out.println("destroy: "+this.hashCode());
}
}
2.新建一个web端显示的页面showServlet类,代码如下:
package com.ask.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;
/*自定义一个java类实现filter接口*/
public class FirstFilter implements Filter {
public FirstFilter(){
System.out.println("FirstFilter: "+this.hashCode());
}
public void init(FilterConfig arg0) throws ServletException {
System.out.println("init: "+this.hashCode());
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
System.out.println("doFilter: "+this.hashCode());
//调用下一个filter或者是web资源
//chain.doFilter(req, res);
}
public void destroy() {
System.out.println("destroy: "+this.hashCode());
}
}
3.web.xml配置文件如下:
<?xml version="1.0"encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0">
<display-name>firstServlet</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>first</filter-name>
<filter-class>com.ask.filter.FirstFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>first</filter-name>
<url-pattern>/show</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>show</servlet-name>
<servlet-class>com.ask.servlet.showServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>show</servlet-name>
<url-pattern>/show</url-pattern>
</servlet-mapping>
</web-app>
4.程序运行如下,没有显示show页面的内容,原因是过滤掉了
5.如果想要显示show页面,就的在FirstFilter类中doFilter方法添加
Chain.doFilter(req.res)方法;
分享到:
相关推荐
5. **测试和调试**:部署应用后,尝试访问受保护的URL,确保过滤器按预期工作。可能需要考虑的场景包括:未登录用户尝试访问受保护页面、已登录但无权限的用户、以及具有足够权限的用户。 通过以上步骤,我们就利用...
本项目主要关注的是如何使用过滤器(Filter)和拦截器(Interceptor)来实现登录页面的控制与跳转。以下是对这些知识点的详细说明: 1. **SpringBoot**: SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...
5. **单元测试和集成测试**:为了确保过滤器和SQL注入防护的有效性,项目可能包含了一些测试用例,使用JUnit和Mockito等工具模拟请求和数据库交互,验证安全措施是否正常工作。 总之,这个项目提供了预防XSS和SQL...
- 测试用例或HTML页面:用于验证过滤器功能是否正常。 通过这个简单的登录示例,你可以学习到如何利用Servlet过滤器检查用户登录状态,确保只有已登录的用户才能访问特定的受保护资源。过滤器提供了一种灵活的方式...
总之,这个“Jquery即时页面刷新过滤器”示例展示了如何结合jQuery的选择器、事件监听和DOM操作,实现用户输入实时过滤表格内容的功能,这对于构建交互性强、响应快的Web应用至关重要。通过学习和实践这个示例,...
在myeclipse这样的集成开发环境中,可以直接创建新的Java类,继承Filter接口,并将类名填写到web.xml中,然后运行项目以测试过滤器的效果。 总之,Java过滤器提供了一种强大的机制,允许我们在Web应用的请求处理...
`FilterChain`对象的`doFilter()`调用使得请求可以继续传递到下一个过滤器或者目标资源。 2. 接下来,在`web.xml`配置文件中定义这个过滤器: ```xml <web-app> ... <filter-name>CharacterEncodingFilter ...
- 在web应用的配置文件web.xml中,使用`<filter>`和`<filter-mapping>`元素定义过滤器,并指定需要拦截的URL模式。 8. **注意事项** - 安全性:无数据库的鉴权方式安全性较低,不适用于生产环境,应使用成熟的...
在IT行业中,构建一个安全的Web应用程序是至关重要的,而登录过滤器和请求拦截器是实现这一目标的关键组件。本文将详细讲解如何使用IntelliJ IDEA(Idea)、Maven和Spring MVC框架来创建一个登录过滤器,以及如何将...
如果请求中包含了黑名单中的任何关键词,该过滤器将采取相应行动,如返回错误页面、记录日志或直接阻止请求。这样可以有效地防止诸如SQL注入、跨站脚本(XSS)等常见的Web应用攻击。 配置IIS关键词拦截过滤器通常...
在Java Web开发中,过滤器(Filter)是一个非常重要的组件,它允许我们在数据处理之前或之后执行特定逻辑,实现如权限控制、字符编码转换、日志记录等功能。本篇文章将详细探讨Java中过滤器的使用,并通过一个具体的...
3. **测试文件**:单元测试或集成测试代码,用于验证过滤器功能的正确性。 4. **报告**:项目实施过程的文档,可能包含了过滤器的设计思路、实现方法以及遇到的问题和解决方案。 在实现用户登录验证过滤器时,通常...
在这个场景下,登录验证过滤器会检查每个请求,如果用户未登录,则重定向他们到登录页面,或者如果已经登录,允许请求继续。 5. **过滤器链(Filter Chain)**:多个过滤器可以串联起来形成过滤器链,按照定义的...
在Servlet规范中,过滤器是Java Web应用中的一个组件,它可以在请求被Servlet处理之前和之后执行一些预处理或后处理操作。通过实现javax.servlet.Filter接口并配置在web.xml中,我们可以定义过滤规则,如检查用户...
在IT行业中,过滤器(Filter)是一个非常重要的概念,尤其在Web开发中,它被广泛应用于数据处理、请求拦截和响应处理等场景。本压缩包文件"过滤器的实现"包含了一个具体的过滤器实现示例,供我们学习和参考。 过滤...
Struts 是一个经典的Java Web框架...通过这个小项目,初学者可以了解到一个完整的Java Web应用的基本结构,学习如何在Struts框架下实现分页和过滤器,以及如何处理中文乱码问题,这些都是实际开发中常见的需求和挑战。
在`web.xml`文件中配置过滤器及其映射规则,确保所有请求都经过此过滤器处理。 ```xml <filter-name>SetCharFilter <filter-class>com.filter.SetCharFilter</filter-class> <param-name>ecoding ...
过滤器(Filter)是Java Servlet API提供的一种机制,它允许开发者在请求到达目标资源(如Servlet、JSP页面)之前以及响应离开服务器返回到客户端之前进行拦截和处理。这一特性使得过滤器在数据验证、安全控制、日志...
4. **过滤器(Filter)**:在Java Web应用中,过滤器是Servlet规范的一部分,它可以在请求到达目标Servlet或JSP之前对其进行拦截和处理。过滤器常用于身份验证、数据校验、字符编码转换、日志记录等。在“JSP登陆...