【问题标题】:How do I forward my http request如何转发我的 http 请求
【发布时间】:2016-11-23 08:48:11
【问题描述】:

在我使用 Struts 的应用程序中,我在 web.xml 中引入了一个过滤器,以检查请求中是否存在任何恶意字符,然后再到达相应的操作或 .do 。 如果有任何恶意字符可用,我需要重定向到错误页面,如果没有,我希望允许请求执行相应的操作或 .do。过滤检查后如何将请求转发到原始请求?

   <filter>
      <filter-name>MaliciousFilter</filter-name>
      <filter-class>com.MaliciousFilter</filter-class>
   </filter>

【问题讨论】:

  • 您使用的是哪种 Struts?

标签: java httprequest struts


【解决方案1】:

只需调用

chain.doFilter(request, response);

然后您会将请求传递回过滤器链。如果您没有更多过滤器,则会调用原始操作。

【讨论】:

  • 感谢您的信息。让我试试看。
  • 它正在工作,但我还有其他问题。当我尝试获取零件时。多部分/表单数据将变为空。我只能在 HttpServletRequest 中获取 getParts。但我无法访问 doFilter 中的 HttpServletRequest。即使我从 servletRequest 类型转换为 HttpServletRequest 。我得到 getParts 的空值。你能帮我解决一下吗? (最后一部分:((HttpServletRequest)servletRequest).getParts())
  • 有没有办法在 doFilter 中访问 HttpServletRequest 而无需从 ServletRequest 进行类型转换。因为如果输入种姓,我会得到 getParts 作为空值。
  • 这不是投射问题...您使用的是什么服务器?也许你觉得这很有用stackoverflow.com/questions/8047173/…
  • 我正在使用 Tomcat 服务器。当我调用 doFilter 方法时,doFilter (ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) 我不能在 doFilter() 中使用 getParts()。 getParts() 在 HttpServletRequest 中可用。即使我将类型转换为 HttpServletRequest,我也会得到空值。有没有办法在 doFilter 中访问 HttpServletRequest 而没有来自 servletRequest 的种姓?或者如何直接访问 doFilter 内部的 HttpServletRequest 而不将其传递给方法? (final Part part : ((HttpServletRequest) servletRequest).getParts()) 的错误片段
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 2015-03-13
  • 2015-03-12
  • 2010-09-27
  • 1970-01-01
  • 2014-04-02
相关资源
最近更新 更多