如何使用jsp中的post方法将隐藏的表单字段传递给servlet过滤器';什么是过滤法?

如何使用jsp中的post方法将隐藏的表单字段传递给servlet过滤器';什么是过滤法?,jsp,servlets,Jsp,Servlets,jsp代码: <form name="editAddress" id="editAddress" method ="post" > <td ><input type="hidden" name="csrf" id="csrf" value="<%=token%>"></input> 这里,ValidateToken类中的令牌值为null 您需要使用方法参数请求,而不是一些自定义字段 (我甚至不知道第3行和第4行中的request和r

jsp代码:

<form name="editAddress" id="editAddress"  method ="post" >
<td ><input type="hidden" name="csrf" id="csrf" value="<%=token%>"></input>

这里,ValidateToken类中的令牌值为null

您需要使用方法参数
请求
,而不是一些自定义字段

(我甚至不知道第3行和第4行中的
request
response
字段来自何处。
Filter
是一个接口,因此没有字段。这是可编译的吗?)


删除这两个字段,并将方法参数
request
强制转换为
HttpServletRequest
,它将正常工作。

Hi gsl,代码中有轻微的更正,请查找更新的代码。对于给您带来的不便深表歉意。您确定此筛选器将处理发布表单吗?我在
标记中没有看到
操作
属性。对于所有其他
GET
请求,您可能会看到“token=null”,而不是来自JSP的“POST”请求?可以添加完整的
元素(此处也缺少结束标记)和过滤器的映射。
public class ValidateToken implements Filter  
    {
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException 
        {
           HttpServletRequest httpRequest = request instanceof HttpServletRequest ? (HttpServletRequest) request : null;
           HttpServletResponse httpResponse = response instanceof HttpServletResponse ? (HttpServletResponse) response: null;

            String token =httpRequest.getParameter("csrf");

            System.out.println("token =" +token);

            chain.doFilter(request, response);
        }
    }