大家好,我是海Dao船长。
如果让大家写一个表单的前台页面,也许大家都能够完美的写出来,但是我们也得form表单需要提交给后台,那么怎么实现前台form表单的提交呢?下面用java代码实现表单的提交效果。
首先写一个简单的form表单,示例如下:
<a href="/servletday/PDayA?name=NAME&password=PASSWORD">
点击测试是否连接到后台
</a>
<form action="/servletday/PDayA" method="post">
用户名:<input type="text" name="username"/>
密码:<input type="password" name="password">
爱好<input type="checkbox" name="hobby" value="cf"/>吃饭
<input type="checkbox" name="hobby" value="sj"/>睡觉
<input type="checkbox" name="hobby" value="pb"/>跑步
<br/>
<input type="submit" value="提交"/>
</form>
其中/servletday是项目名,PDayA是后台的java文件名。
第一个a标签是测试是否连接到PDayA文件。
接下来就开始进行后台的编写了:
public class PDayA extends HttpServlet {
//首先写类的doGet方法,进行a标签的连接测试。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("GET :" + request.getParameter("name"));
System.out.println("GET :" + request.getParameter("password"));
}
//之后进行表单的提交,用到的doPost方法
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//第一种方法:首先获得request域中的数据并且进行定义变量,之后进行输出。
String username = request.getParameter("username");
String password = request.getParameter("password");
String[] hobby = request.getParameterValues("hobby");
System.out.println(username + ", "+password + ", " + Arrays.toString(hobby));
//第二种方法用接口实现
Enumeration names = request.getParameterNames();
while(names.hasMoreElements()) {
System.out.println(names.nextElement());
}
//第三种 用Map实现,需要注意的是key和value
Map<String,String[]> maps = request.getParameterMaps();
for(String name : maps.ketSet()){
String[] value = maps.get(name){
System.out.println(name + "=" + Arrays.toString(value));
}
}
}
}
如此便实现了表单提交的功能。
如果想要了解更多精彩内容,请大家关注微信公众号 : 海Dao船
海Dao船长会不定期的更新内容哦.