今天学到了关于filter过滤的章节,也总结出了一些简单的应用,如下代码都是通过了测试无误才敢写下来的:
首先是写一个filter过滤器对象AddFilter
源代码:package test;
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;
public class AddFilter implements Filter
{
private FilterConfig config;
public void init(FilterConfig config)
{
this.config = config;
}
public void destroy()
{
this.config=null;
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chin)
{
System.out.println("赋值开始");
String coding = config.getInitParameter("coding");
System.out.println(coding);
/*从配置文件中(web.xml中获得coding的值,可以用来传编码方式或者其他的东西,大致的意思就是只利用过滤器来实现赋值,同时又可以做到在需要修改的时候只要改下配置文件就可以全部改动,加强了代码的可维护性)*/
request.setAttribute("coding", coding);
}
}
然后在配置文件里一定要加的:
<filter>
<filter-name>testServlet</filter-name>
<filter-class>test.AddFilter</filter-class>
<init-param>
<param-name>coding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>testServlet</filter-name>
<servlet-name>testServlet</servlet-name>
</filter-mapping>
这里是用来过滤testServlet这个servlet,只要是要调用这个servlet的事件,都要通过它来过滤,这里实现的功能就是在过滤的同时来传个coding(暂时可以理解为编码集)然后下面是testServlet的源代码,这样就可以在过滤后得到配置里面所赋给它的值,以后如果需要改变,只需要改变下配置文件里的就OK了:
package test;
import java.io.IOException;
import java.io.PrintStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet
{
public TestServlet()
{
super();
}
public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
System.out.println(request.getParameter("coding "));
ServletConfig config = getServletConfig();
System.out.println(config.getServletName());
}
public void destroy()
{
super.destroy();
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
}
public void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
}
这样子,一个简单的过滤器就算是完成了。
当发布之后运行结果
会将配置里面设置的值打印出来。
当然,在过滤时可以做很多的事情,也不是局限于这一种,此处只是举一反三而已。
分享到:
相关推荐
【如何配置Filter过滤器处理JSP中文乱码】 在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP...
为了解决这个问题,我们可以利用`Filter`接口创建一个专门处理编码转换的过滤器。 1. **创建过滤器类** 首先,我们需要创建一个实现了`javax.servlet.Filter`接口的类。在这个类中,我们重写`doFilter()`方法,这...
本篇文章将详细讲解如何处理JSP中的中文乱码以及如何通过过滤器(Filter)来解决这一问题。 首先,中文乱码的处理主要涉及到字符集(Charset)的概念。在JSP中,当请求参数包含中文字符时,如果不设定字符编码,...
通过上述步骤,我们可以有效地利用Servlet过滤器来解决Web应用中的乱码问题。这种方式不仅提高了代码的可维护性和扩展性,还保证了用户数据的准确性。在实际项目中,可以根据具体的业务需求调整过滤器的逻辑,例如...
为了解决这一问题,可以通过在项目中添加过滤器来统一处理字符编码,从而避免乱码的出现。 #### 实现步骤 ##### 步骤一:创建过滤器 1. **新建一个包**:首先,在Eclipse集成开发环境中新建一个包,用于存放过滤器...
### 使用过滤器解决中文乱码问题 在Web开发过程中,经常遇到的一个问题是中文或其它非ASCII字符的乱码问题。这种现象通常出现在浏览器接收的数据与实际编码格式不匹配时。解决此类问题的一种常见方法是使用过滤器...
过滤器(Filter)是Java Servlet API的一部分,允许我们在请求到达目标Servlet或JSP之前对其进行拦截和处理。在这个场景下,我们需要创建一个专门的过滤器来解决GET请求的编码问题。 首先,我们需要了解HTTP协议的...
要使用jsp过滤器解决中文乱码问题,我们需要定义一个过滤器类,实现Filter接口。下面是一个简单的示例代码: ```java public class EncodingFilter implements Filter { @Override public void destroy() { // ...
总之,解决JavaWeb中的乱码问题需要从多个层面进行考虑:设置过滤器统一请求和响应的编码,确保JSP页面的编码正确,以及在处理文件时注意文件内容的编码。通过这些方式,我们可以有效防止和解决乱码问题,提高应用...
总结一下,Java Web中的中文乱码问题主要通过设置正确的字符编码来解决,而过滤器是处理这个问题的一种有效手段。通过创建并配置过滤器,我们可以确保请求和响应的编码一致,从而避免中文乱码的出现。同时,注意整个...
标题提到的"java配置过滤器,解决乱码",实质上是通过使用Servlet过滤器(Filter)来处理HTTP请求和响应中的编码问题,确保数据在传输过程中不出现乱码。下面我们将深入探讨Java中的乱码问题,以及如何通过配置过滤...
本文将深入探讨JSP中文乱码过滤器的工作原理、实现方法以及如何在项目中应用。 **一、乱码问题的来源** 在JSP页面中,如果服务器和客户端的字符编码不一致,就可能导致乱码。常见的编码格式有GBK、UTF-8等。例如,...
本文将重点解析“关于处理中文乱码问题 Filter 代码”的相关知识点,并结合Java Servlet API进行详细讲解。 首先,我们要理解什么是Filter(过滤器)。在Java Web开发中,Filter是Servlet API的一部分,它允许我们...
本篇文章将详细探讨SSH框架中的中文乱码问题,以及如何通过实现自定义过滤器(Filter)来解决这一问题。 首先,我们要理解乱码的产生原因。在HTTP请求中,数据编码格式不一致是导致乱码的主要因素。例如,客户端...
在这个主题中,我们将深入探讨Servlet过滤器的API用法、乱码处理策略以及如何防止JavaScript注入问题。 首先,让我们了解一下Servlet过滤器的基础。在Servlet规范中,`Filter`接口定义了过滤器的核心方法,如`...
【filter过滤器流程】 在Java Web开发中,Filter(过滤器)是用于处理HTTP请求和响应的重要组件。它遵循Servlet规范中的Filter接口,允许开发者在请求到达目标Servlet或JSP之前以及响应离开Servlet之后进行拦截和...
### 利用过滤器解决JavaWeb(JSP)乱码问题 #### 一、问题背景与重要性 在JavaWeb开发中,特别是在使用...总之,使用过滤器来统一设置字符编码是一种简单而有效的策略,尤其适用于需要处理大量中文数据的Web应用程序。
在标题提到的"filter过滤器的简单使用.rar"压缩包中,很显然包含了一个关于如何在Maven项目和Spring Boot项目中使用Filter的示例。下面将详细介绍Filter的基本概念、工作原理以及如何在两种项目环境中应用。 **...
在 WEB.XML文件里粘贴一下代码 可以解决乱码问题 <filter> <filter-name>EncodingFilter</filter-name> <filter-class>com.highcom.filter.EncodingFilter</filter-class> <param-name>encoding ...