通过post和get两种方式提交表单数据。

form.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>提交表单</title>
</head>
<body>
<h2>Get请求</h2>
<form action="/servlet_war_exploded/form" method="get">
<!--文本框-->
名字:<input type="text" name="username"><br/>
<!--密码框-->
密码:<input type="password" name="password"><br/>
<!--下拉框-->
地址:
<select name="address">
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="深圳">深圳</option>
</select><br>
<!--单选框-->
性别:<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female">女<br>
<!--复选框-->
爱好:<br>
篮球<input type="checkbox" name="hobby" value="篮球" checked="checked" />
足球<input type="checkbox" name="hobby" value="足球" />
乒乓球<input type="checkbox" name="hobby" value="乒乓球"/><br>
<!--文本域-->
说明:<br>
<textarea name="desc" rows="3" cols="20"></textarea><br>
<input type="submit" value="get提交">
</form> <hr> <h2>Post请求</h2>
<form action="/servlet_war_exploded/form" method="post">
<!--文本框-->
名字:<input type="text" name="username"><br/>
<!--密码框-->
密码:<input type="password" name="password"><br/>
<!--下拉框-->
地址:
<select name="address">
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="深圳">深圳</option>
</select><br>
<!--单选框-->
性别:<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female">女<br>
<!--复选框-->
爱好:<br>
篮球<input type="checkbox" name="hobby" value="篮球" checked="checked" />
足球<input type="checkbox" name="hobby" value="足球" />
乒乓球<input type="checkbox" name="hobby" value="乒乓球"/><br>
<!--文本域-->
说明:<br>
<textarea name="desc" rows="3" cols="20"></textarea><br>
<input type="submit" value="post提交">
</form>
</body>
</html>

servlet

通过servlet读取表单数据时,可以通过request的getParameter(String name)方法获取表单中的值。

当表单中一个name对应多个值时(如多选框),可以使用getParameterValues(String name)方法获取值。

另外需要注意post请求乱码问题。

package com.zjw;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays; @WebServlet(name = "ReadFormServlet" , value = "/form")
public class ReadFormServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//post请求的request数据会有乱码
request.setCharacterEncoding("UTF-8"); System.out.println(getFormData(request)); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//get请求的request数据在tomcat8后不会出现乱码 System.out.println(getFormData(request)); } //获取form表单中的数据
private String getFormData(HttpServletRequest request){
//文本框
String username = request.getParameter("username");
//密码框
String password = request.getParameter("password");
//下拉框
String address = request.getParameter("address");
//单选框
String sex = request.getParameter("sex");
//复选框
String[] hobbies = request.getParameterValues("hobby");
//文本域
String desc = request.getParameter("desc"); return "username="+username+"\n"
+"password="+password+"\n"
+"address="+address+"\n"
+"sex="+sex+"\n"
+"hobbies="+ Arrays.toString(hobbies) +"\n"
+"desc="+desc ;
}
}

提交表单,后台打印结果

username=root
password=123456
address=北京
sex=female
hobbies=[篮球, 足球, 乒乓球]
desc=我是说明文字

servlet 读取表单数据的更多相关文章

  1. Servlet 笔记-读取表单数据

    Servlet 处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析: getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值. get ...

  2. Servlet处理表单数据

    Servlet 表单数据 很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. 使用 ...

  3. 1.3(学习笔记)Servlet获取表单数据

    一.Servlet获取表单数据 表单提交数据经由Servlet处理,返回一个处理结果显示在页面上, 那么如何获取表单提交的参数进出相应的处理呢? 主要用到以下方法: String  getParame ...

  4. 用Servlet获取表单数据

    用Servlet获取表单数据 在webroot下新建userRegist2.jsp 代码如下: <%@ page contentType="text/html;charset=gb23 ...

  5. JSP简单练习-用Servlet获取表单数据

    // javaBean代码 package servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.* ...

  6. Servlet 表单数据

    很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. GET 方法 GET 方法向页 ...

  7. IT兄弟连 JavaWeb教程 Servlet表单数据

    很多情况下,需要传递一些信息,从浏览器到Web服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到Web服务器,分别为GET方法和POST方法. 1.GET方法 GET 方法向页面请求发送已编 ...

  8. Servlet表单数据

    1.GET 方法 GET 方法向页面请求发送已编码的用户信息.页面和已编码的信息中间用 ? 字符分隔,如下所示: http://www.test.com/hello?key1=value1&k ...

  9. Servlet学习笔记(二):表单数据

    很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. 1.GET 方法:GET 方法 ...

  10. 【ASP.NET Web API教程】5.3 发送HTML表单数据:文件上传与多部分MIME

    原文:[ASP.NET Web API教程]5.3 发送HTML表单数据:文件上传与多部分MIME 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面 ...

随机推荐

  1. vue-element-admin改为从后台获取菜单

    一.修改文件\src\router\index.js 文件的asyncRoutes清理为 export const asyncRoutes = [ { path: '*', redirect: '/4 ...

  2. HT-014 Div3 跳棋 题解 [ 黄 ] [ 并查集 ] [ 链表 ]

    分析 依旧是一个连通块题. 观察题面不难发现两个重要性质: 一个跳棋只能以它旁边的两个跳棋为中点跳跃,且满足跳跃路线中 除中点以外没有其它跳棋阻挡. 只有我们的跳棋可以移动. 跳棋的操作具有可逆性/对 ...

  3. hibernate基础查询语句使用

    hibernate最新文档 项目仓库地址项目201102-hibernateSelect 数据准备 -- 创建数据表 drop table if exists t_book; create table ...

  4. Refit 原理解析:从初识到实践

    在现代的分布式系统和微服务架构中,HTTP API 调用是不可或缺的一部分.为了简化 HTTP 请求的构建和解析,我们可以使用 Refit 这个强大的库.Refit 通过将 HTTP API 抽象为接 ...

  5. MySQL索引最左原则:从原理到实战的深度解析

    MySQL索引最左原则:从原理到实战的深度解析 一.什么是索引最左原则? 索引最左原则是MySQL复合索引使用的核心规则,简单来说: "当使用复合索引(多列索引)时,查询条件必须从索引的最左 ...

  6. RP 点归入Set And Coupling 约束创建

    想用python脚本创建一个耦合coupling关系,需要定义control piont和被控制的surfaces.两者都可以先分别归入到set 和surface里,最后用set和surface作为c ...

  7. Selenium Webdriver 介绍

    在前两篇文章中,主要介绍了Selenium IDE 工具及其使用和它的特点,也使用Selenium IDE和Firebug构建了一些脚本.本文,我们开始介绍不同类型的web元素及其定位策略 我们已经非 ...

  8. idle如何调试程序

    1.启动idle ctrl+n 快捷键 新建命令窗口 输入程序 4.F5 调试程序,结果看在启动界面查看

  9. Selenium KPI接口 iframe切换

    应用场景: 在编写脚本的时候,经常会发现最熟悉的错误"元素定位不到",此时如果你查看页面元素,有可能你会发现元素在>标签对之间. 此时,我们只有先将代码驱动切换到frame内 ...

  10. 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)

    FRP 是 Github 上开源的一款内网穿透工具,点击前往项目地址,该项目分为 frps 服务端和 frpc 客户端,通过在拥有公网 IP 的服务器上搭建服务端,然后在被穿透的机器上安装客户端,配置 ...