我正在向表单发送发送请求到重定向servlet。然后,servlet将一个表单写入其响应(getWriter)对象。该表格包含许多隐藏字段。我使用JavaScript来提交这个表单(JavaScript也被写入响应对象)。这个表单的目标是另一个servlet。从过滤器获取servlet参数值
现在,我正在编写一个过滤器来拦截我发送给另一个servlet(在另一个服务器上)的隐藏参数。但是,当我这样做: String [] values = req.getParameterValues(name);
我没有得到任何我放入字符串“name”中的参数的值。我不能改变代码的架构(不是我的)。我只需要获取由我的过滤器中的第一个servlet发送的参数,但我一直得到空值。任何帮助是极大的赞赏。
我的第一servlet代码:
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>redirectServlet</title></head>");
out.println("<body>");
out.println("<form name=\"go\" method=\"post\" action=\"http://" +
remotehost + "/somerep/someservlet?\">");
out.println("<input type=hidden name=userid value=" + conn + "> ");
out.println("<input type=hidden name=paramform value=no> ");
out.println("<input type=hidden name=nonblocksql value=no> ");
out.println("<input type=hidden name=recursive_load value=no> ");
out.println("<input type=hidden name=job_seq_id value=" + jobId + ">");
out.println("<input type=hidden name=destype value=cache> ");
out.println("<input type=hidden name=desformat value=pdf> ");
out.println("</form> ");
out.println("<script language=\"JavaScript\" type=\"text/javascript\"> ");
out.println("document.getElementById('go').submit();");
out.println("</script>");
out.println("</body>");
out.println("</html>");
难以不说不看一些代码 –
Matt,我用一些代码更新了我的问题。这个servlet将使用javascript将表单提交给指定的远程servlet。我想在远程servlet的机器/服务器上使用servlet过滤器拦截此请求。 – berto77
你真的应该考虑将JSP用于HTML部分,Servlet用于逻辑部分。 –