样式表单 XXX.css 未载入,因为它的 MIME 类型 "text/html" 不是 "text/css"。

样式表单 XXX.css 未载入,因为它的 MIME 类型 “text/html” 不是 “text/css”。

– 如果你有/*过滤器,存在代码// 处理响应乱码 response.setContentType("text/html;charset=utf-8");
建议屏蔽一下此过滤器,再次运行

可以将编码过滤器改到web.xml中
web.xml

	<!-- 设置参数编码UTF-8 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

附带过滤器

package com.gzjc.lotteryol.filter;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

import javax.servlet.DispatcherType;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.junit.Test;

/**
 * 系统名:LotteryOff
 * <p>
 * 类概述: 解决全站中文乱码问题,处理所有的请求
 * <p>
 * 著作权:COPYRIGHT (C) 2017 SNM INFORMATION SYSTEMS CORPORATION ALL RIGHTS
 * RESERVED.
 *
 * @author JIANG LIN CHEN
 * @date 2019-12-13 11:04
 * <p>
 * Servlet Filter implementation class CharchaterFilter
 */
// 四.过滤器配置详解
// 四.1 拦截路径配置 :
//@WebFilter("/index.jsp")
//@WebFilter("*.jsp") // 访问所有后缀名为jsp资源中,过滤器才会执行
//@WebFilter("/user/*") // 访问所有/user下的控制器
//@WebFilter("/*")
// 四.2 拦截方式配置 :
/*
 * 资源被访问的方式, 设置 dispatcherTypes 属性
 *
 * @WebFilter(value = "/*", dispatcherTypes = DispatcherType.REQUEST)
 *
 * 1. REQUEST : 默认值,浏览器直接请求资源
 *
 * @WebFilter(value = "/*", dispatcherTypes = DispatcherType.REQUEST)
 *
 * 2. FORWARD : 转发访问资源
 *
 * @WebFilter(value = "/*", dispatcherTypes = DispatcherType.FORWARD)
 *
 * 1+2 == @WebFilter(value = "/*", dispatcherTypes =
 * {DispatcherType.REQUEST,DispatcherType.FORWARD})
 *
 * 3. INCLUDE : 包含访问资源
 *
 * 4. ERROR : 错误跳转资源
 *
 * 5. ASYNC : 异步访问资源
 *
 */
@WebFilter(value = "/*", dispatcherTypes = DispatcherType.REQUEST)
public class CharchaterFilter implements Filter {

    private static Logger log = Logger.getLogger(CharchaterFilter.class);
    // 跳转的错误信息页面
//	private static final String ERRORPAGE = "error.jsp";

    private static final String PROPERTIES_NAME = "../LotteryOff/lotteryoff/conf/error.properties";

    /**
     * Default constructor.
     */
    public CharchaterFilter() {
        // TODO Auto-generated constructor stub
    }

    // 三.过滤器生命周期的方法 init->doFilter->destroy

    /**
     * 在服务器启动后,会创建Filter对象,然后调用init方法,只执行一次,用于加载资源
     *
     * @see Filter#init(FilterConfig)
     */
    @Override
    public void init(FilterConfig fConfig) throws ServletException {
//		System.out.println("CharchaterFilter初始化...");
        // 初始化错误页面
//		System.out.println("读取配置的错误提示页面路径");
        log.info("ex filter init .......");
    }

    /**
     * 每一次请求被拦截资源时,会执行,执行多次
     *
     * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
     */
    @Override
    public void doFilter(ServletRequest req, ServletResponse rep, FilterChain chain)
            throws IOException, ServletException {
        // place your code here
//		System.out.println("测试过滤器");
//		System.out.println("二.过滤器执行流程: 1、执行过滤器");
        // 将父接口转为子接口
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) rep;

        // 获取请求方法
        String method = request.getMethod();
        // 解决post请求中文数据乱码问题
        if ("POST".equalsIgnoreCase(method)) {
            request.setCharacterEncoding("utf-8");
        }

        // 处理响应乱码
        response.setContentType("text/html;charset=utf-8");
        // pass the request along the filter chain
//		System.out.println("过滤器执行流程: 2、执行放行后的请求资源");
        // 放行
//		try {
        chain.doFilter(request, response);
//		} catch (Exception e) {
//			// 发生异常,保存异常栈
//			request.setAttribute("exception", e);// 存储异常信息
//			request.getRequestDispatcher(ERRORPAGE).forward(request, response);// 跳转到信息提示页面!!
//		}

//		System.out.println("过滤器执行流程: 3、回来执行过滤器放行代码下边的代码");
//
//		System.out.println("五.1 过滤器执行过程: [过滤器链(多个过滤器)]___过滤器1 ->过滤器2->资源执行->过滤器2->过滤器1(走过去-(小心被打劫)->拿个棒棒糖->原路返回)");
//		System.out.println("五.2 过滤器的先后顺序问题: 注解配置 : 按照类名的字符串比较规则比较,值小的写执行");
    }

    /**
     * 在服务器关闭后,Filter对象被销毁,如果服务器是正常关闭,则会执行destroy方法,只执行一次
     *
     * @see Filter#destroy()
     */
    @Override
    public void destroy() {
//		System.out.println("CharchaterFilter销毁...");
        log.info("ex filter destroy .......");
    }
}

/**
 * web.xml配置
 * 设置参数编码UTF-8
 * <filter>
 * <filter-name>encodingFilter</filter-name>
 * <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 * <init-param>
 * <param-name>encoding</param-name>
 * <param-value>UTF-8</param-value>
 * </init-param>
 * <init-param>
 * <param-name>forceEncoding</param-name>
 * <param-value>true</param-value>
 * </init-param>
 * </filter>
 * <filter-mapping>
 * <filter-name>encodingFilter</filter-name>
 * <url-pattern>/*</url-pattern>
 * </filter-mapping>
 */

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页