我正在向表單發送發送請求到重定向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用於邏輯部分。 –