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实现(五):将项目部署到云服务器(完)