【发布时间】:2014-04-08 06:44:13
【问题描述】:
我发现了其他类似的问题,但我无法弄清楚为什么我无法从 servlet 读取 POST 请求参数(我有一个表单)(GET 参数是可以的)。因此,使用 firebug,我可以看到表单中引入的参数值,但下面的 system.out.println 显示它们为 null。
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
IPentahoSession userSession = PentahoSessionHolder.getSession();
String username = userSession.getName().toString();
openSql();
response.setContentType(
"text/html");
PrintWriter pw = response.getWriter();
pw.println(
"<html>");
pw.println(
"<head><title>Hello Pentaho</title></title>");
pw.println(
"<body>");
pw.println(
"<h1>Hello " + username + " Pentaho </h1>");
pw.println(
"<form method=\"post\" action=\"HelloPentaho\" >"
+ "Nume: <input type=\"varchar\" name=\"param1\" value=\"\"> <br>"
+ "Nume raport original: <input type=\"varchar\" name=\"param2\" value=\"\"> <br>"
+ "Cale raport original: <input type=\"text\" name=\"param3\" value=\"\"> <br>"
+ "<input type=\"submit\" value=\"Trimite date in baza\">"
+ "</form> ");
pw.println(
"<h1> The selected parameters are: " + request.getParameter("param1") + " " + request.getParameter("param2") + " " + request.getParameter("param3") + "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /></h1>");
pw.println(
"</body></html>");
String insert = "INSERT INTO PREFERINTE_UTILIZATOR (nume,nume_rap_org,cale_rap_org) values (?,?,?);";
PreparedStatement pstmnt = conn.prepareStatement(insert);
pstmnt.setString(1, request.getParameter("param1"));
pstmnt.setString(2, request.getParameter("param2"));
pstmnt.setString(3, request.getParameter("param3"));
pstmnt.executeUpdate();
} catch (ClassNotFoundException ex) {
Logger.getLogger(HelloPentaho.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(HelloPentaho.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
【问题讨论】:
-
您能否更详细地描述您遇到的错误。
-
在我按下表单提交按钮后,pw.println 应该会带上表单中引入的参数,但它带来的所有参数都是空的。在firebug中,我可以看到post发送的参数值,但我在网页中看不到它们。
-
我过去也遇到过类似的情况。交叉检查表单上的输入名称一次,看看您是否也在 servlet 上请求相同的参数。
-
我仔细检查了一遍。没有运气
-
有人有答案吗?