使用 Servlet 读取表单数据
Servlet 处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析:
- **getParameter():**您可以调用 request.getParameter() 方法来获取表单参数的值。
- **getParameterValues():**如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
- **getParameterNames():**如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。
使用 URL 的 GET 方法实例
表单代码:
<form action="/A" method="GET">
姓名<input type="text" name="name" /><br />
密码<input type="text" name="psw" /><br />
<input type="submit" value="提交"/>
</form>
在web.xml中注册Servlet:
<servlet>
<servlet-name>xxx</servlet-name>
<servlet-class>com.haya.web.BServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xxx</servlet-name>
<url-pattern>/A</url-pattern>
</servlet-mapping>
Servlet代码:
package com.haya.web;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class BServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.println("doGet");
out.println("name:" + req.getParameter("name"));
out.println("name:" + req.getParameter("psw"));
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
}
使用Post方法
只需要对上面代码做一点改动即可。
<form action="/A" method="post">
姓名<input type="text" name="name" /><br />
密码<input type="text" name="psw" /><br />
<input type="submit" value="提交"/>
</form>
package com.haya.web;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class BServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.println("doGet");
out.println("name:" + req.getParameter("name"));
out.println("name:" + req.getParameter("psw"));
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
```