java - 如何覆盖 ServletRequestWrapper 中的请求对象?

标签 java jsp servlets

我想用 SecurityRequestWrappergetParameter() 方法覆盖 ServletRequestWrapper 的默认 getParameter() 方法。

例如,如果我使用一个简单的jsp表单来获取一个人的名字,

String name = request.getParameter("firstName");

我希望上面的 getParameter() 方法来自 SecurityRequestWrapper 类。我无法理解请求对象是如何被覆盖的,因为在任何 jsp 表单中默认情况下都会调用 getParameter 方法。

最佳答案

据我所知,您正在谈论的 SecurityRequestWrapper 已经实现了 HttpServletRequestWrapper ?如果是这样,那么只需创建一个 Filter ,将其映射到 *.jspurl-pattern (或者您想要调用此 Filter 的任何内容),并在 doFilter() 方法中执行以下基本操作。

chain.doFilter(new SecurityRequestWrapper((HttpServletRequest) request, response));

关于java - 如何覆盖 ServletRequestWrapper 中的请求对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225362/

相关文章:

java - 实体对象持久化时出现空指针异常

jsp - java.lang.IllegalStateException : Neither BindingResult nor plain target object for bean name 'beanName' available as request attribute

mysql - 我想在我的 Springboot 项目中实现 session (HTTP 请求)概念,但它给出了这个错误

java - 通过 Spring MVC Web 应用程序向客户端发送文本文件

用于编写 excel 文件的 Java servlet 在 IE7/IE8 中导致错误

java - 使用 Android 检索响应

java - Sonarqube:跨文件自定义java规则?

java - BufferedReader 无明显原因返回 Null

java - Flinkrocksdb压缩过滤器不工作

java - Google App Engine - 是否可以在访问 html 页面时启动 jvm?