详述Servlet获取form表单数据 |
您所在的位置:网站首页 › 如何获取表单中的数据和文本格式 › 详述Servlet获取form表单数据 |
目录 一.如何使用Servlet 二.获取form表单中的文本 三.获取form表单中的复选框 一.如何使用Servlet首先创建好一个javaweb项目后,在Java Resources根目录下src中创建一个servlet文件: 创建之后将文件中除以下代码外的无用代码都删掉,只留以下代码: package com.jd.servlet; 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 LogServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }在控制台中选中Servers台,点击蓝颜色的这行提示: 选中Tomcat的版本,示例中使用的是Tomcat v8.0,并选择Tomcat的路径: 然后再右键点击该行提示,点击Add and Remove: 选中要添加的类logSystem,点击add添加: 此时便添加成功了,可以使用Servlet获取form表单数据了: 二.获取form表单中的文本假如在Javaweb中创建jsp文件,写下如下代码: Insert title here得到的浏览器中的页面如下:
这时当用户在文本框和密码框中输入数据时,要想从浏览器中将数据传输到后台的代码中,就可以在刚才创建的LogServlet类中写下如下代码: 该doGet方法中的第一个参数request中存储的便是log文件中form表单中各标签在页面中获取到的值,于是用request调用getParameter()方法并在参数列表中输入要获取的标签的name值,示例中第一个输入的“user-name”便是文本框的name值,第二个输入的“password”便是密码框的name值,此时变量userName和password中存储的便是从页面中获取的数据,为字符串,再将其打印在控制台上: package com.jd.servlet; 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 LogServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userName; String password; userName=request.getParameter("user-name"); password=request.getParameter("password"); System.out.println(userName+":"+password); } }以下是点击提交后的运行结果: 文本域、下拉列表、单选框的获取原理亦如此,以下是代码示例: log.jsp: Insert title here 男女 --请选择-- --一年级-- --二年级--LogServlet.java: package com.jd.servlet; 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 LogServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userName = request.getParameter("user_name");//文本框、密码框、文本域、下拉列表、单选框 System.out.println(userName); String password = request.getParameter("password"); System.out.println(password); String summary = request.getParameter("summary"); System.out.println(summary); String grade = request.getParameter("grade"); System.out.println(grade); String sex = request.getParameter("sex"); System.out.println(sex); } }下面是浏览器中的输入,点击登录提交表单: 以下是输出结果: 三.获取form表单中的复选框与单选框中的数据获取类似,唯一差别在于用request对象调用getParameter()方法获取单选框时得到的是一个String类型变量,而获取复选框的数据时获取到的是一个String类型数组,获取数据的代码示例如下: log.jsp: Insert title here 篮球足球乒乓球LogServlet.java: package com.jd.servlet; 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 LogServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // String userName = request.getParameter("user_name");//文本框、密码框、文本域、下拉列表、单选框 // System.out.println(userName); // String password = request.getParameter("password"); // System.out.println(password); // String summary = request.getParameter("summary"); // System.out.println(summary); // String grade = request.getParameter("grade"); // System.out.println(grade); // String sex = request.getParameter("sex"); // System.out.println(sex); String [] hobbies = request.getParameterValues("hobby"); for(String hobby:hobbies) { System.out.println(hobby); } } }在复选框中选择选项,点击登录提交表单: 得到如下运行结果: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |