1.写过滤器
package com.liu.mall.filter;
import com.liu.mall.common.Constant;
import com.liu.mall.model.pojo.User;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import java.io.IOException;
import java.io.PrintWriter;
public class UserFilter implements Filter {
public static User loginUser;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletResponse.setContentType("text/html;charset=utf-8");
servletResponse.setCharacterEncoding("utf-8");
HttpServletRequest request = (HttpServletRequest) servletRequest;
loginUser = (User) request.getSession().getAttribute(Constant.USER);
if (loginUser == null) {
PrintWriter out = new HttpServletResponseWrapper(((HttpServletResponse) servletResponse)).getWriter();
out.write("{ \"status\": 10007, \"msg\": \"您还没有登录!\", \"data\": null}");
out.flush();
out.close();
}
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}
2.配置过滤器
package com.imooc.mall.config;
import com.imooc.mall.filter.AdminFilter;
import com.imooc.mall.filter.UserFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class UserFilterConfig {
@Bean
public UserFilter userFilter() {
return new UserFilter();
}
@Bean(name = "userFilterConf")
public FilterRegistrationBean adminFilterConfig() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(userFilter());
filterRegistrationBean.addUrlPatterns("/cart/*");
filterRegistrationBean.addUrlPatterns("/order/*");
filterRegistrationBean.setName("userFilterConf");
return filterRegistrationBean;
}
}