SpringBoot实现(一):eclipse 下 maven 环境配置
SpringBoot实现(二):MyBatis 配置和 MVC 布置
SpringBoot实现(三):关联 Thymeleaf
SpringBoot实现(四):过滤器 Filter
SpringBoot实现(五):将项目部署到云服务器(完)
在src/main/java
的com.example
下新建一个包filter
,用于存放过滤器,效果图
在包filter
下新建一个过滤器EncodingFilter
,处理中文乱码问题
过滤器其内容如下
package com.example.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;
import javax.servlet.annotation.WebFilter;
@WebFilter(filterName = "encodingFilter", urlPatterns = "/*")
public class EncodingFilter implements Filter {
public void destroy() {
}
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");
System.out.println("encoding filter");
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
}
}
@WebFilter
为一个注解,告诉 SpringBoot 是过滤器,urlPatterns
表示为要过滤的路径,/*
为过滤所有,同理,相过滤管理类UserController
下的所有网页就换成/user/*
就可以了,过滤器每次执行时都会访问doFilter
这个方法,而且只有当执行到了chain.doFilter(request, response)
这条语句时,要访问的网页才被允许访问:)
运行启动类,访问网站http://localhost:8080/user/test.go
,每次刷新时都会执行过滤器的doFilter
方法
根据这个特性就可以设置一些只有登录才可以被访问的网页了:)
问题询问:hellolxb@yeah.net
SpringBoot实现(一):eclipse 下 maven 环境配置
SpringBoot实现(二):MyBatis 配置和 MVC 布置
SpringBoot实现(三):关联 Thymeleaf
SpringBoot实现(四):过滤器 Filter
SpringBoot实现(五):将项目部署到云服务器(完)