需求如下:
 * 需求
 * 完成用户注册效果。
 具体要求:
 1)用户输入信息:用户名,密码,确认密码,性别,出生日期,电子邮箱,地址 。
 2)用户输入信息后,调用相关的XML操作类,把数据保存到XML文件中。
 3)保存成功后,显示成功信息。
注册页面如下:
首页html代码如下:
<!DOCTYPE html>
<html><head><title>用户注册页面</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="this is my page"><meta http-equiv="content-type" content="text/html; charset=UTF-8"><!--<link rel="stylesheet" type="text/css" href="./styles.css">--></head><body><form action="/day09/RegServlet"  method="post"><h1>用户登陆</h1><h2>请填写注册信息</h2>姓名:<input type="text" name="userName" ><br>密码:<input type="password" name="userPassword"  id="pwd"><br>确认密码:<input type="password" name="again_userPassword"  id="again_pwd" >(PS:如果两次密码匹配不正确,提交后重新注册)<br>性别:<input type="radio" name="sex" value="男">男<input type="radio" name="sex" value="女">女<br>出身日期:<input type="text" name="age" ><br>电子邮箱:<input type="text" name="email"><br>地址:<select name="sheng"><option value="广东">广东</option><option value="广西">广西</option><option value="云南">云南</option><option value="其他">其他</option></select><br><input type="submit" value="提交"></form></body>
</html>

Servlet接收数据并处理:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.text.html.HTMLDocument.HTMLReader.FormAction;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.SAXWriter;
import org.dom4j.io.XMLWriter;public class RegServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//设置编码,但该函数在get方法中不适用,要自己对每个字符串转换request.setCharacterEncoding("utf-8");String name = request.getParameter("userName");String userName = new String(name.getBytes("ISO-8859-1"),"utf-8");String password = request.getParameter("userPassword");String againPassword = request.getParameter("again_userPassword");String sex = request.getParameter("sex");String age = request.getParameter("age");String email = request.getParameter("email");String sheng = request.getParameter("sheng");//判断两次密码是否相符if(!password.equals(againPassword)){System.out.println("两次密码不匹配,请重新输入");response.getWriter().append("两次密码不匹配,请重新输入");response.sendRedirect("/day09/Register.html");      //重定向到登陆页面return;}SAXReader sr = new SAXReader();try {//读取xml文档Document doc = sr.read("D:/My Eclipse/day09/src/user.xml");Element root = doc.getRootElement();     //获取根标签 Element user = root.addElement("user");user.addElement("name").setText(name);      //为标签设置值user.addElement("password").setText(password);user.addElement("sex").setText(sex);user.addElement("age").setText(age);user.addElement("sheng").setText(sheng);XMLWriter sw = new XMLWriter(new FileOutputStream("D:/My Eclipse/day09/src/user.xml"),OutputFormat.createPrettyPrint()     //以正常格式写进文档);sw.write(doc);sw.close();RequestDispatcher dispatcher =request.getRequestDispatcher("/succ.html");      //转发dispatcher.forward(request, response);} catch (Exception e) {e.printStackTrace();}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request,response);}}
xml文档如下:
<?xml version="1.0" encoding="UTF-8"?><Users> <user> <name>何胜</name>  <password>2klj3</password>  <sex>男</sex>  <age>91年04月22日</age>  <sheng>广东</sheng> </user>  <user><name>默默</name><password>987456</password><sex>男</sex><age>94年11月11日</age><sheng>云南</sheng></user>
</Users>

html页面提交数据,利用servlet接收数据并写进xml中相关推荐

  1. 【Java 网络编程】UDP 服务器 客户端 通信 ( DatagramSocket | DatagramPacket | UDP 发送数据包 | UDP 接收数据包 | 端口号分配使用机制 )

    文章目录 I UDP 信息发送接收原理 II UDP 发送和接收端口相同 III UDP 发送信息代码示例 IV UDP 接收信息代码示例 V UDP 服务器端代码示例 VI UDP 客户端代码示例 ...

  2. 使用xslt将.xml,转换成一个html网页时中文显示乱码怎么办,用dom将数据写到xml中 设置xml文件gbk编码时中文会出现乱码...

    问题:我用dom将数据写到xml中 设置xml文件的编码格式是gbk时再dos下运行jar包中文会出现乱码 如下: 代码如下: StringWriter strWtr = new StringWrit ...

  3. 堆栈(Strack)是指这样一段内存,它可以理解为一个筒结构,先放进筒中的数据被后放进筒中的数据“压住”,只有后放进筒中的数据都取出后,先放进去的数据才能被取出,称为“后进先出”。堆栈的长度可随意增加

    堆栈(Strack)是指这样一段内存,它可以理解为一个筒结构,先放进筒中的数据被后放进筒中的数据"压住",只有后放进筒中的数据都取出后,先放进去的数据才能被取出,称为"后 ...

  4. 【嵌入式】——串口实验——实现芯片串口收发数据,按键中断串口发送数据,串口接收数据中断来控制LED亮/灭

    实验目的: 实现芯片串口收发数据,按键中断串口发送数据:按下按键,向串口发送数据,并通过虚拟终端显示出来: 串口接收数据中断来控制LED亮/灭:通过串口助手向MCU发送数据,"A" ...

  5. [Jsp] 如何在JSP页面快速输出从Servlet接收的数据_看JSTL常用C标签的威力

    JSTL的常用C标签 1)c:out 单值输出 语法: <c:out value="" /> <c:out value=""></ ...

  6. MATLAB利用串口接收数据,并实时显示图形

    matlab读取串口资源总结: 一.matlab读取串口数据,并显示实时图形:点击这里打开 二.使用matlab进行串口调试的2中方法:点这里打开 三.matlab读取单片机串口数据并显示出来(m语言 ...

  7. DatagramSocket总是发送UDP数据后无法接收数据

    ref:http://blog.chinaunix.net/uid-20771867-id-3416509.html          cmd:telnet localhost 5554        ...

  8. 以太网(ethernet)通信。DSP开发板28388D发送数据,电脑接收数据。使用的是UDP协议

    一.使用的开发板(DSP28388D): TMDSCNCD28388D(3核) 二.想要实现的目标: 电脑连到交换机A上,开发板连到交换机A上.电脑与开发板能够进行数据通信(暂时,先调开发板给电脑发送 ...

  9. c#同步 oracle数据,利用C#实现数据同步功能 | 学步园

    如下代码摘自 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...

最新文章

  1. mysql安装版和解压版哪个好_iqooneo3和小米10青春版哪个好 参数区别哪个性价比高...
  2. 基于visual Studio2013解决面试题之0802数字最多元素
  3. php多个表中查找数据_Excel实战技巧74: 在工作表中创建搜索框来查找数据
  4. ssis行计数变量_SSIS管道性能计数器指南
  5. Dedecms V5.7后台的两处getshell
  6. CES现场直击 AI让你现场获得虚拟双胞胎
  7. 计算机多媒体故障,多媒体教室设备常见故障及处理方法
  8. 关于linux驱动管理笔记
  9. 对话系统 | (4) 任务型对话系统基础
  10. 互联网创新创业大赛优秀范例_创新创业大赛优秀作品-互联网+大赛作品
  11. 第一节、同步回调和异步回调?
  12. Android 常用工具类,终局之战
  13. 羊了个羊游戏开发教程1:堆叠牌的拾取
  14. 超实用后台UI模板有这些就够了!(一)
  15. mysql日期函数_英文简写月的转换
  16. MySQL,刷题之对完整性约束操作,题+代码!!
  17. [vim] 滚动屏幕快捷键记忆
  18. html中的colspan是什么意思
  19. 如何查看 SQL 执行频率
  20. 学习整理自用——计算机基础路径

热门文章

  1. C++ Primer 5th笔记(3)字符串、向量和数组:向量vector
  2. 【Linux】—— /usr/bin/perl 被 MySQL-community-server-8.0.26-1.el7.x86_64 需要,解决方法
  3. python_面向对象进阶之多继承
  4. 使用 go 实现 Proof of Stake 共识机制
  5. Android 下 APK 捆绑器的实现
  6. java如何jasper_Jasper's Java Jacal
  7. JAVA_IO流四大家族(2)
  8. 由PLC未授权访问引发的工程重置漏洞
  9. Windows消息机制学习笔记(一)—— 消息队列
  10. 1.3 @Deprecated注解