Filter的使用(解决网页的中文乱码)

一、servelet

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class test extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //resp.setCharacterEncoding("utf-8");
        resp.getWriter().write("甜");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

二、过滤器Filter

import javax.servlet.*;
import java.io.IOException;

public class filter01 implements Filter{
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("==============过滤器初始化=============");
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        chain.doFilter(request,response);//让请求继续走,如果不写,程序到这里就被拦截停止
    }

    public void destroy() {
        System.out.println("==============过滤器销毁=============");
    }
}

三、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>test</servlet-name>
        <servlet-class>servelet.test</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>test</servlet-name>
        <url-pattern>/s1</url-pattern>
    </servlet-mapping>

    <filter>
        <filter-name>filter</filter-name>
        <filter-class>filter.filter01</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>filter</filter-name>
        <!--只要是/servlet的任何请求都会经过这个过滤器-->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>
发布了23 篇原创文章 · 获赞 43 · 访问量 1385

猜你喜欢

转载自blog.csdn.net/qq_41256881/article/details/105287760