无法使用java在筛选器中获取请求参数

ttisahbt  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(384)

我试图通过在调用servlet之前传递要验证的参数来调用过滤器。但是,请求参数传递为null。在我的servlet中接收相同的参数时。我不知道是什么原因。
我对servlet的调用将使用javascript中的window.open。
这是我的密码

window.open ("http://localhost:8080/SEMS/testAdd?yearFormat=yyyy", "hiddenFrame");

我的过滤器

public class CBFilter implements Filter {

public void init(FilterConfig config) throws ServletException {     

}

public CBFilter() {}

public void destroy() {
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    String yearFormat= request.getParameter("yearFormat");

    System.out.println("[Filter] Year Format : "+yearFormat);

    chain.doFilter(request, response);
}

}

网站.xml

<filter>
   <display-name>CBFilter</display-name>
   <filter-name>CBFilter</filter-name>
   <filter-class>com.cb.CBFilter</filter-class>     
  </filter>
  <filter-mapping>
    <filter-name>CBFilter</filter-name>
    <url-pattern>/*</url-pattern>
   </filter-mapping>

相同的请求参数在servlet中可用。

mu0hgdu0

mu0hgdu01#

试着铸造 ServletRequestHttpServletRequest 像这样:

HttpServletRequest req = (HttpServletRequest)request;
String yearFormat= req.getParameter("yearFormat");

…看看能不能帮上忙

相关问题