我正在使用这些 servlet 代码。 在 processRequest 方法中,以这些变量的形式 ans,id...我没有进入 dopost 方法。我在双引号中得到了 prob....
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet adminforum</title>");
out.println("</head>");
out.println("<body>");
out.println("<FORM METHOD=POST>");
out.println("enter the ID no.");
out.println("<INPUT TYPE=TEXT name=id>");
out.println("<br>");
out.println("enter the answer.");
out.println("<INPUT TYPE=TEXT name=ans>");
out.println("<br>");
out.println("<INPUT TYPE=SUBMIT VALUE=submit>");
out.println("</FORM>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
最佳答案
注意事项:
- 除非您是第一次使用 Servlet 并试图了解该技术,否则您确实不应该使用 Servlet 来输出 HTML - JSP 更适合于此。
- 虽然 HTML 不区分大小写,但 XML(以及 XHTML)则不然。这意味着
<form>
和<FORM>
是不同的元素。现在所有元素都使用小写已成为惯例。所以你不应该使用<INPUT>
;使用<input>
反而。属性也是如此(value
不是VALUE
)。 - 请注意,您可以使用双引号
"
或单引号'
对于 X(HT)ML 中的属性。
如果我理解正确的话,您是说在提交表单时无法读取表单中的字段,并且您怀疑这是因为您无法将双引号添加到您的字符串文字中正在这里写下来。这是转义字符串文字中的双引号的简单问题:
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet adminforum</title>");
out.println("</head>");
out.println("<body>");
out.println("<FORM METHOD=\"POST>\"");
out.println("enter the ID no.");
out.println("<INPUT TYPE=\"TEXT\" name=\"id\">");
out.println("<br>");
out.println("enter the answer.");
out.println("<INPUT TYPE=\"TEXT\" name=\"ans>\"");
out.println("<br>");
out.println("<INPUT TYPE=\"SUBMIT\" VALUE=\"submit\">");
out.println("</FORM>");
out.println("</body>");
out.println("</html>");
或者,如果您更愿意使用单引号(这也使编写 Java 代码更容易):
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet adminforum</title>");
out.println("</head>");
out.println("<body>");
out.println("<FORM METHOD='POST>'");
out.println("enter the ID no.");
out.println("<INPUT TYPE='TEXT' name='id'>");
out.println("<br>");
out.println("enter the answer.");
out.println("<INPUT TYPE='TEXT' name='ans>'");
out.println("<br>");
out.println("<INPUT TYPE='SUBMIT' VALUE='submit'>");
out.println("</FORM>");
out.println("</body>");
out.println("</html>");
关于java - 小服务程序编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331211/