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

响应式网站和传统网站网络推手公司怎么收费

响应式网站和传统网站,网络推手公司怎么收费,手机做网站价格,宿迁二手房58同城急售概述 Java 过滤器是 Java EE (Jakarta EE) 中的一种组件,用于在请求到达 Servlet 或 JSP 之前对其进行预处理,或者在响应返回客户端之前对其进行后处理。过滤器主要应用于以下场景: 请求参数过滤和转换字符编码处理身份验证和授权日志记录压…

概述

        Java 过滤器是 Java EE (Jakarta EE) 中的一种组件,用于在请求到达 Servlet 或 JSP 之前对其进行预处理,或者在响应返回客户端之前对其进行后处理。过滤器主要应用于以下场景:

  • 请求参数过滤和转换
  • 字符编码处理
  • 身份验证和授权
  • 日志记录
  • 压缩响应数据
  • 缓存控制

核心接口和方法

  1. init(FilterConfig config) - 初始化过滤器
  2. doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - 执行过滤逻辑
  3. 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;charset=utf-8");//filterChain:链//放行,继续执行下一个过滤器,如果没有过滤器,则执行目标资源filterChain.doFilter(servletRequest,servletResponse);}/*** 销毁过滤器*/@Overridepublic void destroy() {}
}

        2.web.xml 配置(传统方式)

<filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>com.cni23.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-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());// 记录请求头Enumeration<String> 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 FilterRegistrationBean<RequestLoggingFilter> loggingFilter() {FilterRegistrationBean<RequestLoggingFilter> registrationBean = new FilterRegistrationBean<>();// 设置过滤器实例registrationBean.setFilter(new RequestLoggingFilter());// 设置过滤器应用的URL模式registrationBean.addUrlPatterns("/api/*", "/secure/*");// 设置过滤器名称registrationBean.setName("requestLoggingFilter");// 设置过滤器执行顺序(值越小,优先级越高)registrationBean.setOrder(1);// 添加初始化参数registrationBean.addInitParameter("enabled", "true");return registrationBean;}
}

配置方式对比

  1. 注解配置

    • 优点:简洁、直观,与代码在一起,便于维护
    • 缺点:不够灵活,URL 模式等配置与代码耦合
  2. web.xml 配置

    • 优点:集中管理,配置与代码分离,适合复杂场景
    • 缺点:XML 文件可能变得庞大复杂,难以维护
  3. Java 代码配置

    • 优点:完全的编程控制,可以使用 Spring 的依赖注入
    • 缺点:需要了解 Spring 框架,配置相对复杂

具体使用哪一个可以根据自己的项目来决定。


文章转载自:

http://jtlbJsLv.npbgj.cn
http://gsAATCKu.npbgj.cn
http://RsZqN835.npbgj.cn
http://YbcIRjHg.npbgj.cn
http://QG0qt3oh.npbgj.cn
http://vcrv8pqs.npbgj.cn
http://TvEyBmif.npbgj.cn
http://CSUfWwLl.npbgj.cn
http://IVHVu9HI.npbgj.cn
http://dYTQda4h.npbgj.cn
http://5RCkiD9C.npbgj.cn
http://WIWW9sir.npbgj.cn
http://ceIFcMXZ.npbgj.cn
http://OegZVXeM.npbgj.cn
http://lcrSAJbJ.npbgj.cn
http://zVCFrKyF.npbgj.cn
http://yJpVCcaF.npbgj.cn
http://bcJ6qWOb.npbgj.cn
http://0R4emhoW.npbgj.cn
http://W7qlPL9c.npbgj.cn
http://QShH1Ex3.npbgj.cn
http://7DsynfHo.npbgj.cn
http://nTEN2hXR.npbgj.cn
http://RecGmfFu.npbgj.cn
http://jbF9zsUZ.npbgj.cn
http://TjHVvF6I.npbgj.cn
http://tO2sKILi.npbgj.cn
http://YyG5Qrxd.npbgj.cn
http://o2Gdvw0K.npbgj.cn
http://Qfl311fC.npbgj.cn
http://www.dtcms.com/wzjs/632583.html

相关文章:

  • c net做的网站化工行业网站
  • 网站建设实践百度收录域名
  • 大企业网站建设方案社保在哪个网站做增员
  • 微信营销网站(含html源文件)免费下载学校网站群建设思路
  • 做的网站需要什么技术宠物食品 中企动力提供网站建设
  • 网站建设的基本特点如何做企业第一管理人
  • 重庆的网站建设绍兴网站制作推广
  • discuz品牌空间网站电商软件什么品牌好
  • 天津免费建设网站广告设计专业分析
  • 手机代码网站有哪些问题高邮建设网站
  • 做网站cpa域名怎么制作网站
  • 网站开发托管协议关于网站建设外文文献
  • 鹤壁网站建设优化网上商城小程序开发
  • 海淀建设网站大连网站排名
  • 怎么搭建自己的网站西双版纳傣族自治州地图高清版
  • 长沙中小企业网站制作网页微信登录入口
  • 阿里巴巴国际站可以做网站吗网站后台密码在哪个文件
  • 成都便宜网站建设公司哪家好wordpress上传完了
  • 免费下载app软件下载安装关键词优化快排
  • 网站备案管理系统登录不上去wordpress 插件分类
  • 服务器网站慢的原因平面设计网址推荐
  • 求个没封的a站2022找建网站公司
  • 咸阳市网站建设扬州网站开发公司电话
  • 简述网站的制作流程电商销售主要做什么
  • 网站开发远程服务器如何设置自己搭建服务器违法吗
  • 学做网站论坛vip账号破解将网站加入小程序
  • wordpress genesis百度seo网站优化
  • 龙华网站建设设计公司主机公园安装wordpress要多久
  • 黄永玉的艺术人生南阳网站优化费用
  • 教育公司网站建设方案wordpress论坛主题模板