当前位置: 首页 > news >正文

手机营销型网站制作河北省建筑培训网

手机营销型网站制作,河北省建筑培训网,北京物流网站建设,合肥 电子商务 网站建设概述 Java 过滤器是 Java EE (Jakarta EE) 中的一种组件#xff0c;用于在请求到达 Servlet 或 JSP 之前对其进行预处理#xff0c;或者在响应返回客户端之前对其进行后处理。过滤器主要应用于以下场景#xff1a; 请求参数过滤和转换字符编码处理身份验证和授权日志记录压…概述 Java 过滤器是 Java EE (Jakarta EE) 中的一种组件用于在请求到达 Servlet 或 JSP 之前对其进行预处理或者在响应返回客户端之前对其进行后处理。过滤器主要应用于以下场景 请求参数过滤和转换字符编码处理身份验证和授权日志记录压缩响应数据缓存控制 核心接口和方法 init(FilterConfig config) - 初始化过滤器doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - 执行过滤逻辑destroy() - 销毁过滤器 public class CharacterEncodingFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {Filter.super.init(filterConfig);}Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {}Overridepublic void destroy() {Filter.super.destroy();} } 配置方式 过滤器可以通过以下方式配置 1.注解配置Servlet 3.0 使用WebFilter注解可以直接在过滤器类上配置过滤器无需在 web.xml 中配置。别忘了在 Spring Boot 应用主类上添加ServletComponentScan注解以启用 Servlet 组件扫描 package com.cni23.filter;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import java.io.IOException;/*** urlPatterns 匹配所有请求/*拦截所有请求可以填写具体请求路径*/ WebFilter(urlPatterns /*,filterName CharacterEncodingFilter) public class CharacterEncodingFilter implements Filter {private String encoding;/*** 初始化过滤器*/Overridepublic void init(FilterConfig filterConfig) throws ServletException {String encoding filterConfig.getInitParameter(encoding);if (encoding null){encoding UTF-8;}}/*** 执行过滤器逻辑*/Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//获取请求HttpServletRequest request (HttpServletRequest) servletRequest;request.setCharacterEncoding(encoding);servletResponse.setCharacterEncoding(encoding);servletResponse.setContentType(text/html;charsetutf-8);//filterChain:链//放行继续执行下一个过滤器如果没有过滤器则执行目标资源filterChain.doFilter(servletRequest,servletResponse);}/*** 销毁过滤器*/Overridepublic void destroy() {} }2.web.xml 配置传统方式 filterfilter-nameCharacterEncodingFilter/filter-namefilter-classcom.cni23.filter.CharacterEncodingFilter/filter-class/filterfilter-mappingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping 3.Java 代码配置Spring 等框架中常用 1编写过滤规则 import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.Enumeration;public class RequestLoggingFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {// 初始化逻辑}Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest httpRequest (HttpServletRequest) request;// 记录请求信息System.out.println(Request URL: httpRequest.getRequestURL());System.out.println(Method: httpRequest.getMethod());// 记录请求头EnumerationString headerNames httpRequest.getHeaderNames();while (headerNames.hasMoreElements()) {String headerName headerNames.nextElement();System.out.println(headerName : httpRequest.getHeader(headerName));}// 继续请求处理链chain.doFilter(request, response);}Overridepublic void destroy() {// 清理资源} } 2配置我们的过滤器 import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class FilterConfig {Beanpublic FilterRegistrationBeanRequestLoggingFilter loggingFilter() {FilterRegistrationBeanRequestLoggingFilter registrationBean new FilterRegistrationBean();// 设置过滤器实例registrationBean.setFilter(new RequestLoggingFilter());// 设置过滤器应用的URL模式registrationBean.addUrlPatterns(/api/*, /secure/*);// 设置过滤器名称registrationBean.setName(requestLoggingFilter);// 设置过滤器执行顺序值越小优先级越高registrationBean.setOrder(1);// 添加初始化参数registrationBean.addInitParameter(enabled, true);return registrationBean;} } 配置方式对比 注解配置 优点简洁、直观与代码在一起便于维护缺点不够灵活URL 模式等配置与代码耦合 web.xml 配置 优点集中管理配置与代码分离适合复杂场景缺点XML 文件可能变得庞大复杂难以维护 Java 代码配置 优点完全的编程控制可以使用 Spring 的依赖注入缺点需要了解 Spring 框架配置相对复杂 具体使用哪一个可以根据自己的项目来决定。
http://www.dnsts.com.cn/news/184844.html

相关文章:

  • 东莞做商城网站建设网站服务器到期了怎么续费
  • 外贸网站制作哪家快邯郸网站seo
  • 天津网站建设诺亚文字设计
  • 网站建设学习浩森宇特贵州省建设学校官方网站
  • 网站建设荣茂南阳市网站建设
  • 如何重新做公司网站律师个人网站模板
  • 2008发布asp网站机械加工完工单
  • 红色网站主题北京建设网官网证书
  • asp购物网站客户查看购物车制作海报
  • 三明网站建设公司全网营销国际系统
  • 宝塔面板做网站不能打开PHP显示404潍坊做企业手机版网站
  • 个人网站可以做商业吗中小企业网站建设多少钱
  • 怎么建网站平台商务网站建设的流程
  • 一级a做爰片就线在看网站网络服务网站建设
  • 社团的工商年检网站在哪里做镇江大港信息港论坛
  • 北京建站公司排名首推万维科技空间安装wordpress
  • 莱芜手机网站建设电话网站建设服装市场分析报告
  • 塘下做网站潍坊尚呈网站建设公司 概况
  • wordpress网站突然打不开移动端处理器天梯图
  • 新余公司做网站公司和个人均不能备案论坛类网站
  • 上传文件到网站根目录企业网站未来发展趋势
  • 招远做网站案例中国站长之家爱站网
  • 苏州市建设局网站首页如何看到网站的制作公司
  • 历史网站怎么做国外优秀企业网站模板
  • 河源哪里做网站网站建设服务器软件
  • 湛江廉江网站建设wordpress visual composer主题
  • 好看的电商网站模板揭阳网站制作企业
  • 天津网站建设市场软件开发生命周期
  • 哪些招聘网站做海外招聘网站在布局
  • 网站访客qq抓取网站基本建设投资内容