如何使用jsp中的post方法将隐藏的表单字段传递给servlet过滤器';什么是过滤法?
jsp代码:如何使用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
<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);
}
}