代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

您现在的位置是:首页>_Web开发

Servlet没法获取表单数据

发布时间:2018-05-24浏览(537)

    Servlet无法获取表单数据
    应该没有写错吧,不知道为什么Servlet没办法接收从前端传来的数据?
    <body>
       <h1>Servlet表单提交程序</h1>
       <hr>
       <table>
       <tr>
       <td>用户名:</td>
       <td><input type="text" name="username"/></td>
       </tr>
       <tr>
       <td>密码:</td>
       <td><input type="text" name="userpassword"/></td>
       </tr>
       <tr>
       <td>确认密码:</td>
       <td><input type="text" name="confirmpassword"/></td>
       </tr>
       </table>
       <form action="servlet/MyServlet" method="post">
       <input type="submit" value="提交表单信息" />
       </form>
      </body>

    package servlet;

    import java.io.IOException;
    import java.io.PrintWriter;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class MyServlet extends HttpServlet {

    public MyServlet() {
    super();
    }
    public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    // Put your code here
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");
    String Uname=request.getParameter("username");
    System.out.println(Uname);
    String Upwd=request.getParameter("userpassword");
    System.out.println(Upwd);
    String Ucpwd=request.getParameter("confirmpassword");
    System.out.println(Ucpwd);
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    out.println("<HTML>");
    out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
    out.println("  <BODY>");
    out.print("用户名:"+Uname+"<br/>");
    out.print("密码:"+Upwd+"<br/>");
    out.print("确认密码:"+Ucpwd+"<br/>");
    out.println("  </BODY>");
    out.println("</HTML>");
    out.flush();
    out.close();
    }
    public void init() throws ServletException {
    // Put your code here
    }

    }

    ------解决思路----------------------
    你要把input控件放到form中, 表单提交时才会提交文本框中的数据

    <body>
       <h1>Servlet表单提交程序</h1>
       <hr>
      <form action="servlet/MyServlet" method="post">
       <table>
       <tr>
       <td>用户名:</td>
       <td><input type="text" name="username"/></td>
       </tr>
       <tr>
       <td>密码:</td>
       <td><input type="text" name="userpassword"/></td>
       </tr>
       <tr>
       <td>确认密码:</td>
       <td><input type="text" name="confirmpassword"/></td>
       </tr>
       </table>
       <input type="submit" value="提交表单信息" />
       </form>
      </body>