服务器端获取表单数据
一、单个值
单个值的表单标签有:文本框、密码框、文本域、下拉列表、单选
项目如下:
获取单个值:
代码如下:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><!-- 创建一个表单,提交时,向web项目中的指定servlet的java文件发送请求 --><!-- 单个值对应标签需要添加name属性用于获取下拉列表和单选要额外添加value属性确定区别选项 --><form action="./LoginServlet"><!-- 文本框 --><input placeholder="请输入用户名" name="user_name"/><br /><!-- 密码框 --><input type="password" placeholder="请输入密码" name="pass"/><br /><!-- 单选 --><input type="radio" name="gender" value="1" id="male"/><label for="male">男</label><input type="radio" name="gender" value="2" id="female"/><label for="female">女</label><br /><!-- 文本域 --><textarea name="summary"></textarea><br /><!-- 下拉列表 --><select name="grade"><option value="1">--请选择--</option><option value="2">--一年级--</option><option value="3">--二年级--</option></select><br /><!-- 提交 --><input type="submit" value="登录"/></form></body>
</html>
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//通过request调用getParameter()方法,通过传入标签中name值来获取内容//获取文本框内容String userName = request.getParameter("user_name");System.out.println("用户名为:"+userName);//获取密码内容String password = request.getParameter("pass");System.out.println("密码为:"+password);//获取单选内容,输出为选中选项value值String gender = request.getParameter("gender");System.out.println("性别为:"+gender);//获取文本域内容String summary = request.getParameter("summary");System.out.println("备注为:"+summary);//获取下拉列表内容,输出为选中选项value值String grade = request.getParameter("grade");System.out.println("年级为:"+grade);}
}
效果:
二、多个值
单个值的表单标签有:复选
在表单中添加复选标签:
代码如下:
<!-- 添加复选,依旧需要name值获取,以及value值区分选项 -->
<input type="checkbox" name="hoppy" value="1" id="bask"/><label for="bask">篮球</label>
<input type="checkbox" name="hoppy" value="2" id="socc"/><label for="socc">足球</label>
<input type="checkbox" name="hoppy" value="3" id="ping"/><label for="ping">乒乓球</label>
<br />
在指定java文件中添加获取复选内容代码:
代码如下:
/*依旧通过name获取,但是调用的方法为getParameterValues,返回为一个数组,
这个数组为选中选项的value值*/
String [] hoppies = request.getParameterValues("hoppy");
//遍历数组并输出
for (String hoppy : hoppies) {System.out.println(hoppy);
}
效果:
三、上传文件
表单标签:文件选择框
新的jar包:
更改代码:
<!-- login.jsp -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><!-- --><form action="./LoginServlet" method="post" enctype="multipart/form-data"><input placeholder="请输入用户名" name="user_name"/><br /><input type="file" name="picture"/><br /><input type="submit" value="登录"/></form></body>
</html>
//LoginServlet.java
public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {if(ServletFileUpload.isMultipartContent(request)){//1、判断当前form表单的编码方式是不是为enctype="multipart/form-data"FileItemFactory fileItemFactory = new DiskFileItemFactory();ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);servletFileUpload.setFileSizeMax(1024*1024*6*10);//限定文件大小List<FileItem> fileItemList = null;try {fileItemList = servletFileUpload.parseRequest(request);//2、将form表单中每个携带数据的标签转换成每个FileItem对象并存到集合中} catch (FileUploadException e) {e.printStackTrace();request.setAttribute("message", "文件太大,上传失败");request.getRequestDispatcher("result.jsp").forward(request, response);return;}for(FileItem fileItem : fileItemList){//3、获取form表单所携带的数据if(fileItem.isFormField()){//为true表示为非文件类型的标签String key = fileItem.getFieldName();//summaryString value = fileItem.getString();//summary对相的数据System.out.println(key+":"+value);}else{//文件类型try {String oldFileName = fileItem.getName();String fileNameSuffix=oldFileName.substring(oldFileName.lastIndexOf("."));//选择文件类型不唯一,所以需要截取文件后缀,接取存储时使用System.out.println(fileNameSuffix);String fileNamePrefix = UUID.randomUUID().toString();//新的文件名,防止多次选中同个文件在同一路径无法存储的情况//fileItem.write(new File("D:\\"+fileNamePrefix+fileNameSuffix));//未发布路径String path = "D://"+fileNamePrefix+fileNameSuffix;fileItem.write(new File(path+fileNamePrefix+fileNameSuffix));//发布路径System.out.println(path);} catch (Exception e) {e.printStackTrace();}}}request.setAttribute("message", "文件上传成功");request.getRequestDispatcher("result.jsp").forward(request, response);}else{request.setAttribute("message", "当前form表单enctype属性的属性值非multipart/form-data");request.getRequestDispatcher("result.jsp").forward(request, response);}}
}
<!-- 新建result.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>${message }</body>
</html>
效果:
添加数据:
服务器端获取表单数据相关推荐
- PHP获取表单数据的方法有几种,如何实现PHP获取表单数据与HTML嵌入PHP脚本
如何实现PHP获取表单数据与HTML嵌入PHP脚本 导语:如何实现PHP获取表单数据与HTML嵌入PHP脚本,下面是小编给大家提供的操作讲解,大家可以参考阅读,更多详情请关注应届毕业生考试网. 常用的 ...
- react如何获取表单数据
react如何获取表单数据? 分为两种情况:第一种是每次输入都会更新状态第二种是只有用到的时候才获取(会用大量的ref,不推荐) 这里主要介绍第一种 //这是我们要操作的数据state = {resu ...
- python获取表单数据的代码_使用flask和python从html表单获取表单数据
我正在尝试在按下submit时从文本字段中获取表单数据,以便将其放入json格式并作为另一个页面访问json数据,该页面将是localhost:5000/info.每次我试图用request.form ...
- 观看慕课老师milanlover视频Tomcat装在Servlet的三种情况+Servlet获取表单数据+Servlet相对路径
在src新建TestServlet1: package servlet;import java.io.IOException; import java.io.PrintWriter;import ja ...
- JSP简单练习-获取表单数据
在JSP中,服务器端程序与客户端交互最常用的方法就是采用表单提交数据.表单提交的方法主要有两种,一种是get方法,另一种是post方法,两者最大的区别:使用get方法提交的数据会显示在浏览器的地址栏中 ...
- 微信小程序之获取表单数据
前言:微信小程序中很多地方运用到了表单,很多时候我们需要把表单中的内容提取出来返回给后台,这里我随便写了一点 注意点: 1.所有的input textarea button全部包含在form表单元素 ...
- servlet获取表单数据
1.sevlet获取表单数据 在很多的情况下,我们需要在浏览器,Web服务器和后台程序之间传递数据.浏览器使用两种方法可将这些信息传递到Web服务器,分别为Get方法和Post方法. 2.Get方法, ...
- 微信小程序表单数据提交服务器,微信小程序防走弯路之:提交表单获取表单数据...
1.简历一个简单的表单,点击'提交'按钮时,提交表单内容 2. 以姓名框为例 .wxml #调用formSubmit函数 提交 class为 ...
- JSP简单练习-EL获取表单数据
输入用户名和密码的界面: <%@ page language="java" contentType="text/html;charset=gb2312" ...
最新文章
- python argv 详解_Python3 sys.argv[ ]用法详解
- 自己动手实现Lua调试器
- CTFshow 信息收集 web6
- 网络爬虫(2)-- Java爬虫框架
- python中plotly.express中线条图,Plotly在Python中表达的意外行
- Redis源码剖析(三)字典结构的设计与实现
- IntelliJ IDEA 修改缓存文件设置
- 如何利用计算机实现非线性转换,基于cass数控绕线机非线性算法的设计与实现-计算机应用技术专业论文.docx...
- 广州线下见面会,来了!
- 《产品经理面试攻略》PART 2:简历
- 将阳历转换为阴历php,php将阳历转换为阴历
- python 下载mp4视频 实例
- 元宇宙时代的5大风险
- 美国加州华裔人口最多的32个城市排名(根据最新统计数字计算)
- win7搜不到特定网络
- Python黑白转换程序
- 提交恶意代码,这所大学被“封杀”
- 大神教你如何搭建自己的web speedtest站点
- JS实例:网页特效-自动刷新页面
- 小程序——扫普通链接二维码打开小程序