博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fliter(过滤器)的认识
阅读量:5335 次
发布时间:2019-06-15

本文共 2330 字,大约阅读时间需要 7 分钟。

过滤器的功能:过滤用户请求

Filter的创建:
      第一步:创建一个类,实现Filter接口
      第二步:调用他的init方法(初始化变量用的 服务器加载的时候就加载了),调用他的doFilter方法(里面的内容是你的Filter类要实现的功能),调用他的destroy方法(销毁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;public class CharsetEncodeFilter implements Filter {    public void destroy() {        System.out.println("CharsetEncodeFilter.destroy()");    }public void doFilter(ServletRequest Request, ServletResponse Response,            FilterChain chain) throws IOException, ServletException {        Response.setContentType("text/html; charset=utf-8");//作用是指定对服务器响应进行重新编码的编码。        Request.setCharacterEncoding("utf-8");//作用是设置对客户端请求进行重新编码的编码        chain.doFilter(Request, Response);    }public void init(FilterConfig arg0) throws ServletException {        System.out.println("CharsetEncodeFilter.init()");    }}

 

      第三步:在xml文件中配置它的Filter类

CharsetEncodeFilter
com.servlet.CharsetEncodeFilter
CharsetEncodeFilter
/*

  第四步 :测试你的Filter功能是否正常

测试的jsp内容:

 

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
Insert title here
用户名
密 码

 

 测试的java代码:(浏览器默认的编码格式是iso—8859-1,与java输出的编码格式不匹配,所以会造成乱码,但是上面我们进行了Filter编码所以,如果没有出现乱码,就表示我们的Filter应用成功)

import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/login")public class LoginServlet extends HttpServlet {    private static final long serialVersionUID = 1L;    protected void service(HttpServletRequest Request, HttpServletResponse Response)            throws ServletException, IOException {    String name    =Request.getParameter("name");    String password=Request.getParameter("password");    PrintWriter writer = Response.getWriter();    writer.write(name+password);    }}

 

转载于:https://www.cnblogs.com/NISUN/p/6510406.html

你可能感兴趣的文章
有意思的代码片段
查看>>
德银:预计中国房地产行业在2018年面临“严重调整”
查看>>
jQuery选中元素与样式改变
查看>>
subline应用之python
查看>>
C8051开发环境
查看>>
VTKMY 3.3 VS 2010 Configuration 配置
查看>>
255. Verify Preorder Sequence in Binary Search Tree
查看>>
01_1_准备ibatis环境
查看>>
java判断网页的编码格式
查看>>
NYOJ_58最少步数(queue+BFS)
查看>>
windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决
查看>>
[fowarding]Ubuntu jsp平台使用JDBC来连接MySQL数据库
查看>>
angular学习笔记---通过angular/cli建一个新的项目
查看>>
mysql desc esc 基本命令总结
查看>>
matlab命令文档【全】
查看>>
扎瓦男孩决定编写一个酒店管理系统
查看>>
poj2138 Travel Games
查看>>
Spark概述
查看>>
iray摘抄
查看>>
蒲公英v5p%n搭建局域网后用nginx做代理的配置
查看>>