今天学到了关于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中文乱码 参考Tomcat服务器目录webapps的examples示例 简单配置步骤: 1.在项目web.xml文件添加过滤器标记<filter>和<filter-mapping>; 2.实现过滤器代码; 3.对Tomcat服务器conf目录里的...
使用该过滤器可以消除java web编程中的乱码问题,把包加入工程后只需在web.xml中设置一下过滤器的属性就可以了
在 WEB.XML文件里粘贴一下代码 可以解决乱码问题 <filter> <filter-name>EncodingFilter</filter-name> <filter-class>com.highcom.filter.EncodingFilter</filter-class> <param-name>encoding ...
character-encoding-filter 是 Java Web 乱码过滤器。 web.xml <filter> <filter-name>character-encoding-filter</filter-name> <filter-class>...
利用过滤器(filter)解决myeclipse中的乱码问题,包含过滤器源代码,不懂的加Q9402055517。
使用过滤器实现GET请求和POST请求的中文乱码问题,只需在自己的Web应用中的web.xml中配置该filter即可使用。
java中Filter过滤器处理中文乱码的方法,需要的朋友可以参考一下
使用filter过滤器解决中文乱码问题,包含源码,以及filter的配置,希望能帮上大家
本教程中以实际例子介绍了过滤器的运行方式,以JSP开发中常见的中文乱码过滤器和限抽客户机IP访问的二个例子,本教程中代码部分转载,都经过本人修改了其中错误,加了详细注释,保证可以正常运行,希望对大家有所帮助
用于中文乱码问题,仅限于表单提交,不适于JS提交,JS提交请自己另设response
本文为大家分享了JSP用过滤器解决request中文乱码问题,具体内容如下 (1)客户端的数据一般是通过HTTP GET/POST方式提交给服务器,在服务器端用request.getParameter() 读取参数时,很容易出现中文乱码现象。 (2...
javaFilter自定义编码过滤器,防止中文乱码.
Filter过滤器的代码及其web.xml配置代码 很好的解决网页乱码问题,很方便,只要按照名字添加就可以了
过滤中文字符,免出现乱码FILTER的JAR包,只要将其导入项目中便可使用
JAVA过滤器filter request.setCharacterEncoding仅对POST提交起作用,对GET提交还是会出现乱码问题
(2)用过滤器解决request中文乱码问题。 (3)代码如下: package my; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ChineseFilter implements Filter { //定义了一个...
此资源系本人在培训机构的资料,资源包含过滤器乱码过滤、过滤非法字符、权限过滤、病毒过滤、HTML标签过滤、js脚本过滤等代码演示实例和讲解文档,内容详细易懂,希望对象大家有所帮助!
主要介绍了jsp中通过过滤器(Filter)解决JSP的Post和Request中文乱码问题的方法,需要的朋友可以参考下
1、Filter接口:所有的Servlet过滤器类都必须实现javax.servlet.Filter接口 a、init(FilterConfig): 这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取...
简单,易懂,利用过滤器和请求处理器来解决项目中的中文乱码问题