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

 更新时间:2022年03月19日 10:33:01   作者:BoBo yeah  
这篇文章主要介绍了如何利用JavaWeb实现表单提交功能,文中的示例代码讲解详细,对我们学习JavaWeb有一定帮助,感兴趣的可以了解一下

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表单提交内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java kafka如何动态设置用户读写权限

    java kafka如何动态设置用户读写权限

    这篇文章主要介绍了java kafka如何动态设置用户读写权限问题,具有很好的参考家价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Springboot 多级缓存设计与实现方案

    Springboot 多级缓存设计与实现方案

    多级缓存是提升高并发系统性能的关键策略之一,它不仅能够减少系统的响应时间,提高用户体验,还能有效降低后端系统的负载,防止系统过载,这篇文章主要介绍了Springboot 多级缓存设计与实现,需要的朋友可以参考下
    2024-02-02
  • Java分布式学习之Kafka消息队列

    Java分布式学习之Kafka消息队列

    Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据
    2022-07-07
  • Java内存模型原子性原理及实例解析

    Java内存模型原子性原理及实例解析

    这篇文章主要介绍了Java内存模型原子性原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Spring Boot集成mongodb数据库过程解析

    Spring Boot集成mongodb数据库过程解析

    这篇文章主要介绍了Spring Boot集成mongodb数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 解决IDEA的maven项目中没有新建Servlet文件的选项问题

    解决IDEA的maven项目中没有新建Servlet文件的选项问题

    这篇文章主要介绍了IDEA的maven项目中没有新建Servlet文件的选项问题及解决方法,本文给大家分享问题原因就解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • java实现动态数组

    java实现动态数组

    这篇文章主要为大家详细介绍了java实现动态数组,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 基于Retrofit+Rxjava实现带进度显示的下载文件

    基于Retrofit+Rxjava实现带进度显示的下载文件

    这篇文章主要为大家详细介绍了基于Retrofit+Rxjava实现带进度显示的下载文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Java案例分享-集合嵌套

    Java案例分享-集合嵌套

    这篇文章主要介绍了Java案例分享-集合嵌套,通过案例创建一个ArrayList集合,存储三个元素,每一个元素都是HashMap,每一个HashMap的键和值都是String,并遍历,实际操作内容需要的小伙伴可以参考一下
    2022-04-04
  • java微信支付接入流程详解

    java微信支付接入流程详解

    这篇文章主要为大家详细介绍了java微信支付接入流程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05

最新评论