JavaWeb实现表单提交的示例详解

目录
  • register.html
  • RegisterServlet.java
  • 修改web.xml,添加如下code
  • 重新配置服务器
    • 先点击左侧图标
    • 再点击Redeploy,重新部署Tomcat服务器
  • 访问表单页面

register.html

<!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>register.html</title>
</head>
<body>
	<center><h1>注册表单</h1></center>
	<center>
		<form action="register" method="get">
			用户名:<input type="text" name="username"/><br/>
			密码:<input type="password" name="pwd"/><br/>

			 请选择感兴趣的研究方向:
              <label for="01">人工智能</label>
              <input type="checkbox" name="interest" value="AI" id="01" />
              <label for="02">机器学习</label>
              <input type="checkbox" name="interest" value="ML" id="02" />
              <label for="03">自动驾驶</label>
              <input type="checkbox" name="interest" value="AutoDrive" id="03" />
              <label for="04">网络安全</label>
              <input type="checkbox" name="interest" value="Network" id="04" />
              <br/>&nbsp;<input type="submit" name="smt" value="提交"/>
		</form>
	</center>
</body>
</html>

RegisterServlet.java

package request;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class RegisterServlet extends HttpServlet{

	//调出doGet方法
	protected void doGet(HttpServletRequest req,HttpServletResponse res)
			throws ServletException,IOException {
		//使用req接收请求参数
		String strName=req.getParameter("username");
		//处理中文乱发问题
		byte[] bs=strName.getBytes("iso8859-1");
		String name=new String(bs,"utf-8");
		System.out.println(name);
	}
	//调出doPost方法
	protected void doPost(HttpServletRequest req,HttpServletResponse res)
			throws ServletException,IOException {
		//设置请求参数中的编码
		req.setCharacterEncoding("utf-8");
		//使用req接收请求参数
		String strName=req.getParameter("username");
		System.out.println("strName");
	}
	//调出service方法
	protected void service(HttpServletRequest request,HttpServletResponse response)
			throws ServletException,IOException{
		PrintWriter pw=response.getWriter();
		System.out.println("注册。。。");
		//1.获取浏览器端发送请求的完整路径;
		StringBuffer sbuf=request.getRequestURL();
		pw.println("url:"+sbuf);
		//System.out.println(sbuf);
		//2.获取资源名部分-请求路径中8080后的地址;
		String uri=request.getRequestURI();
		pw.println("uri:"+uri);
		//3.获取请求路径中参数;
		String qs=request.getQueryString();
		pw.println("qs:"+qs);
		//4.获取请求路径中的ip地址;
		String ip=request.getRemoteAddr();
		pw.println("ip:"+ip);//ip=127.0.0.1
		//5.获取浏览器发送请求的方式(get请求、post请求)
		//在浏览器端,浏览器地址栏回车、超链接、表单的默认方式都是get请求方式
		//在浏览器端,表单设置method="post"的方式提交是post请求方式
		String method=request.getMethod();
		pw.println("method="+method);//method=GET
		//6.获取web应用名
		String cp=request.getContextPath();
		pw.println("cp="+cp);//cp=/servlet
		//接收表单提交发送过来的参数
		//获得单个value值
		String strName=request.getParameter("username");
		String strPwd=request.getParameter("pwd");
		pw.println("Name:"+strName+" Pwd:"+strPwd);
		//获得多个对应value值
		String[] strInterest=request.getParameterValues("interest");
		pw.println(Arrays.toString(strInterest));
		//获取请求参数中所有的name值
		Enumeration<String> names=request.getAttributeNames();
		pw.println(names);
		//使用循环将names中的内容取出
		while(names.hasMoreElements()){
			System.out.println(names.nextElement());
		}
	}

}

修改web.xml,添加如下code

<!-- 配置RegisterServlet -->
  <servlet>
  		<servlet-name>RegisterServlet</servlet-name>
  		<!-- 配置Servlet的路径:包名+类名 -->
  		<servlet-class>request.RegisterServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  		<servlet-name>RegisterServlet</servlet-name>
  		<url-pattern>/register</url-pattern>
  </servlet-mapping>

重新配置服务器

先点击左侧图标

再点击Redeploy,重新部署Tomcat服务器

访问表单页面

http://127.0.0.1:8080/Servlet/register.html

到此这篇关于JavaWeb实现表单提交的示例详解的文章就介绍到这了,更多相关JavaWeb表单提交内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现表单提交(支持多文件同时上传)

    在Android里面或者J2EE后台需要趴别人网站数据,模拟表单提交是一件很常见的事情,但是在Android里面要实现多文件上传,还要夹着普通表单字段上传,这下可能就有点费劲了,今天花时间整理了一个工具类,主要是借助于HttpClient,其实也很简单,看一下代码就非常清楚了 HttpClient工具类: HttpClientUtil.java package cn.com.ajava.util; import java.io.File; import java.io.Serializable;

  • Java表单重复提交的避免方法

    表单的重复提交: 没有完整的进行一次,先请求表单页面->再提交表单过程而完成数据提交 造成的根本原因: 没有完整的进行一次,先请求表单页面->再提交表单过程. 造成重复提交的现象: 由于服务器缓慢或网络延迟的原因,重复点击提交按钮. 已经提交成功,刷新成功页面(forward)(请求转发). 已经提交成功,通过回退,再次点击提交按钮 注意:回退后,刷新表单页面,重新再提交,这时,不是重复提交,而是发送新的请求,在Firefox下,重复提交到同一个地址的操作无效. 案例: @WebServlet

  • Java后台开发之表单提交之前验证

    废话不多说了,具体代码如下所示: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <%@ page import="java.sql.*" %> <!DOCTYPE html

  • JavaWeb中HttpSession中表单的重复提交示例

    表单的重复提交 重复提交的情况: ①. 在表单提交到一个 Servlet,而 Servlet 又通过请求转发的方式响应了一个 JSP(HTML)页面,此时地址栏还保留着 Servlet 的那个路径,在响应页面点击 "刷新". ②. 在响应页面没有到达时,重复点击 "提交按钮" ③. 点击返回,再点击提交 不是重复提交的情况:点击 "返回","刷新" 原表单页面,再点击提交. 如何避免表单的重复提交:在表单中做一个标记,提交到

  • java图片和文本同时提交到表单的实例代码

    首先来看如下效果图片: 表单代码: <form action="/addPro" method="post" enctype="multipart/form-data"> <a>宠物(或产品)类型:</a><select id="categoryID" name="cid"></select><br/><br/> <a

  • JavaWeb实现表单提交的示例详解

    目录 register.html RegisterServlet.java 修改web.xml,添加如下code 重新配置服务器 先点击左侧图标 再点击Redeploy,重新部署Tomcat服务器 访问表单页面 register.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <ht

  • HTML form表单提交方法案例详解

    form表单提交方式总结一下: 一.利用submit按钮实现提交,当点击submit按钮时,触发onclick事件,由JavaScript里函数判断输入内容是否为空,如果为空,返回false, 不提交,如果不为空,提交到由action指定的地址. <script type="text/javascript"> function check(form) { if(form.userId.value=='') { alert("请输入用户帐号!"); for

  • Asp.Net MVC4通过id更新表单内容的思路详解

    用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑.只能编辑其中部分字段. 而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容就会报错,因为有些不能为null的字段由于disabled属性根本无法在前端被获取而后更新至数据库. 有下面两种思路: 1.通过创建隐藏表单,为每一个disabled控件分别创建一个隐藏控件,但是这样的问题是工作量太大(如果表单有一千个属性,你懂的) 2.通过获取该表单在数据库中的id,把该id和可

  • 第七篇Bootstrap表单布局实例代码详解(三种表单布局)

    Bootstrap提供了三种表单布局:垂直表单,内联表单和水平表单.下面逐一给大家介绍,有兴趣的朋友一起学习吧. 创建垂直或基本表单: •·向父 <form> 元素添加 role="form". •·把标签和控件放在一个带有 class .form-group 的 <div> 中.这是获取最佳间距所必需的. •·向所有的文本元素 <input>.<textarea> 和 <select> 添加 class .form-cont

  • jQuery表单插件ajaxForm实例详解

    前端时间写项目用到了ajaxForm这个插件,可以用它提交表单和上传图片,听起来和正常的form表单提交没什么区别,只不过是ajax提交,无需刷新页面,如此可以增加用户体验度. 引入两个文件,PS:必须 <script type="text/javascript" src="http://img9.tongzhuo100.com/js/jquery-1.7.2.min.js"></script> <script type="t

  • layui lay-verify form表单自定义验证规则详解

    官方文档详见:https://www.layui.com/doc/modules/form.html#verify 虽然layui的官方文档已经是写的比较详细,但是初次使用的时候总会懵一下,这里纪录一下lay-verify自定义验证规则的时候到底放哪. html: <input type="text" lay-verify="digital" placeholder="请输入数字"> <button type="but

  • Mysql联表update数据的示例详解

    1.MySQL UPDATE JOIN语法 在MySQL中,可以在 UPDATE语句 中使用JOIN子句执行跨表更新.MySQL UPDATE JOIN的语法如下: UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition 更详细地看看MySQL UPDATE JOIN语法: 首先,在UPDATE子句之后,指定主表(T1)和希望主表连接表

  • Java之单例设计模式示例详解

    单例设计模式 保证一个类在内存中只能有一个对象. 思路: 1)如果其他程序能够随意用 new 创建该类对象,那么就无法控制个数.因此,不让其他程序用 new 创建该类的对象. 2)既然不让其他程序 new 该类对象,那么该类在自己内部就要创建一个对象,否则该类就永远无法创建对象了. 3)该类将创建的对象对外(整个系统)提供,让其他程序获取并使用. 饿汉式: 一上来我就把对象给你 new 好了,你来了直接就可以拿去"吃"了 懒汉式 (要是有人问单例的延迟加载方式指的就是这种方式) 一开始

  • Oracle 数据仓库ETL技术之多表插入语句的示例详解

    目录 创建示例表 无条件的 INSERT ALL 语句 有条件的 INSERT ALL 语句 有条件的 INSERT FIRST 语句 多表插入语句的限制 大家好!我是只谈技术不剪发的 Tony 老师. ETL(提取.转换.加载)是指从源系统中提取数据并将其放入数据仓库的过程.Oracle 数据库为 ETL 流程提供了丰富的功能,今天我们就给大家介绍一下 Oracle 多表插入语句,也就是INSERT ALL语句. 创建示例表 我们首先创建一个源数据表和三个目标表: CREATE TABLE s

  • C语言实现顺序表的基本操作的示例详解

    目录 一.认识顺序表 1.线性表 2.顺序表的概念及结构 二.顺序表的基本操作(接口实现) 1.初始化顺序表 2.打印顺序表 3.尾插 4.尾删 5.扩容 6.头插 7.头删 8.任意位置插入 9.任意位置删除 10.查找某个数的位置 三.顺序表演示及代码(含源码) 1.演示效果 2.完整源代码 一.认识顺序表 1.线性表 线性表是n个具有相同特性的数据元素的有限序列,线性表是一种在实际中广泛使用的数据结构,常见的线性表有顺序表.链表.栈.队列.字符串……线性表在逻辑上是线性结构,也就是说是一条

随机推荐