0
点赞
收藏
分享

微信扫一扫

【基础】对拦截器过滤器转换器监听器的理解和整理

捡历史的小木板 2022-03-16 阅读 58

As we know ,拦截器可以拦截请求,过滤器可以过滤不合适的请求,转换器可以平衡请求参数和响应参数

拦截器

怎么实现

package pri.niddles.interceptor;




import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//inheriting a HandlerInterceptor is implement interceptor in essence
public class Interceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("你他娘的还没登录呢");
        return HandlerInterceptor.super.preHandle(request, response, handler);
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("走吧");
        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    }
}

过滤器

package pri.niddles.filter;

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

public class MyFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

    }

    @Override
    public void destroy() {

    }
}

监听器

package pri.niddles.listener;

import lombok.extern.slf4j.Slf4j;

import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;



public class MyListener implements ServletRequestListener {
    @Override
    public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
        System.out.println("监听完成");
    }

    @Override
    public void requestInitialized(ServletRequestEvent servletRequestEvent) {
        String encoding = servletRequestEvent.getServletRequest()
                .getCharacterEncoding();
        int port = servletRequestEvent.getServletRequest().getServerPort();
        servletRequestEvent.getServletContext().getAttribute("");
        String protocol = servletRequestEvent.getServletRequest().getProtocol();
        String remoteHost = servletRequestEvent.getServletRequest().getRemoteHost();
        String remoteAddr = servletRequestEvent.getServletRequest().getRemoteAddr();
        String scheme = servletRequestEvent.getServletRequest().getScheme();
        int remotePort = servletRequestEvent.getServletRequest().getRemotePort();
        String serverName = servletRequestEvent.getServletRequest().getServerName();
        String contextPath = servletRequestEvent.getServletContext().getContextPath();



        System.out.println("it is trying into your blog website , about him information following :");
        System.out.println(
                "--------------------访问者信息---------------------------"+
                "the guy of remotehost is " + remoteHost +
                        "remoteaddress is " + remoteAddr +
                        "remoteport is" + remotePort +
                        "scheme is " + scheme +
                        "protocol is" +protocol +
                        "serverName is "+ serverName +
                        "contextPath is "+ contextPath+
                        "-----------------------内部信息-----------------------------"+
                "the servicer start in port" +port
        );
    }
}

转换器

public class DateConverter implements Converter {


public Object convert(Class clazz, Object obj) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

if (clazz == Date.class) {

String src = (String) obj;

Date dest = null;

try {

dest = sdf.parse(src);

} catch (ParseException e) {

System.out.println("未填生日");

}

return dest;

} else {

return null;

}

}

}
举报

相关推荐

0 条评论