首页 > 编程语言 >JavaWeb过滤器读取并修改POST请求的参数-YhtHttpServletRequestWrapper

JavaWeb过滤器读取并修改POST请求的参数-YhtHttpServletRequestWrapper

时间:2023-05-12 18:56:22浏览次数:49  
标签:HttpServletRequest JavaWeb YhtHttpServletRequestWrapper request javax CustomHttp

核心原理就是一个类:javax.servlet.http.HttpServletRequestWrapper

一个简单的例子,当任何请求的参数里有 aaa的时候,把它的值改成 bbb

新增一个类自定义的类 CustomHttpServletRequestWrapper 

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;

public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper {

    public CustomHttpServletRequestWrapper(HttpServletRequest request) {
        super(request);
    }

    @Override
    public String getParameter(String name) {
        if ("aaa".equals(name)) {
            return "bbb";
        }
        return super.getParameter(name);
    }
}

 

然后在Filter过滤器里使用这个类

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
      throws IOException, ServletException {
   CustomHttpServletRequestWrapper xssRequest = new CustomHttpServletRequestWrapper((HttpServletRequest) request);
   filterChain.doFilter(xssRequest, response);
}

 

标签:HttpServletRequest,JavaWeb,YhtHttpServletRequestWrapper,request,javax,CustomHttp
From: https://www.cnblogs.com/acm-bingzi/p/post_param.html

相关文章

  • Postman获取变量并设置成全局变量
    以获取登录接口的token为例1.点击左侧,环境变量environments,点击+号新建环境变量。variable填写token,其他栏位不需要填写。如果固定值,则把值写进CURRENTVALUE即可。 2.打开postman,先调用登录接口,获取返回信息。需观察token放在哪个object里,方便后面编写代码取值。  3.......
  • PostMan 調用WebServices 方法説明
    智慧系统接口 1.     webservices接口説明--> http://10.66.101.185/fService/services/CheckSNAndLine.asmx方法--》getCheckResult检查传递SN和线体以及轨道代码检查条码是否正确 参数stringsn条码stringlin......
  • PostgreSQL 10 文档: PostgreSQL 客户端工具
    PostgreSQL客户端应用这部份包含PostgreSQL客户端应用和工具的参考信息。不是所有这些命令都是通用工具,某些需要特殊权限。这些应用的共同特征是它们可以被运行在任何主机上,而不管数据库服务器在哪里。当在命令行上指定用户和数据库名时,它们的大小写会被保留—空格或特殊字......
  • python导出postgresql中的一个表到本地csv表格
     代码如下修改xxx即可:conn=psycopg2.connect(host=DB_SERVICES,user=DB_USERNAME,password=DB_PWD,database=DB_NAME)cur=conn.cursor(cursor_factory=psycopg2.extras.DictCursor)sql=f"select*fromxxx.xxx"cur.execute(sql)res=cur.fetchall()pand......
  • Codeforces Round 244 (Div. 2) C. Checkposts(tarjan)
    题目链接思路考虑到如果一些点两两都能互相到达,那么这些点中,只要有一个点是安全的,就可以顾及到其他所有点,而这些点就是强连通分量(SCC)。思路很简单,就是每一个强连通分量中的最小值相加得到第一问的解,而第二问就是求每一个强连通分量有几个最小值,相乘得到答案。代码#include<i......
  • postgresql 某字段用逗号分隔,查询某个值是否在其中,以及关联表查询
     1.postgresql某字段用逗号分隔,查询某个值是否在其中比如有个字段值是1,2,3查看1是否在里面selectid,gate_type,gate_namefromyg_gate_base_bwhere'1'=ANY(STRING_TO_ARRAY(gate_type,','))orderbygat......
  • 调优PostgreSQL 14和更早版本的统计信息收集器
    PostgreSQL 15的一项重大改进:PostgreSQL 15:统计收集器不见了?虽然对这个即将到来的改进高兴,但我们可以在以前的版本中看到一些关于“效率低下”的评论。这让我意识到,尽管调整stats collector的特性是官方文档和建议的一部分,而且过去有许多关于它的博客帖子,但我很少看到有人......
  • postgresql 更改目类后.conf的位置和shared_preload_libraries写多个的写法
    postgresql更改目类后.conf的位置和shared_preload_libraries写多个的写法postgresql更改了pgdata后。conf会到新的pgdata里面才能看到 需预加载加载多个的话按下面这样写shared_preload_libraries='pg_strom,pipelinedb'  shared_preload_librariesshared_preloa......
  • 接口测试:Eolink Apikit 和 Postman 哪个更好用?
    很多做服务端开发的同学,应该基本都用过Postman来测试接口,虽然Postman能支撑日常工作,但是总感觉还是少了点什么,比如需要Swagger来维护接口文档,需要人肉发送接口变更通知。如今,国产的接口管理工具做得越来越好了,比如,EolinkApikit,一站式API协作平台。EolinkApikit和Post......
  • PostgreSQL如何查询IO消耗最高的SQL及优化,pg_stat_statements插件安装及使用
    PostgreSQL如何查询IO消耗最高的SQL及优化,pg_stat_statements一、安装pg_stat_statements插件二、加载pg_stat_statements模块三、配置pg_stat_statements采样参数四、创建pg_stat_statementsextension五、分析SQL查询哪些sql语句执行效率慢:重置统计信息普通用户需执......