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

xiaoxiao2021-02-28  101

需求如下:  * 需求  * 完成用户注册效果。  具体要求:  1)用户输入信息:用户名,密码,确认密码,性别,出生日期,电子邮箱,地址 。  2)用户输入信息后,调用相关的XML操作类,把数据保存到XML文件中。  3)保存成功后,显示成功信息。 注册页面如下: 首页html代码如下: [html]  view plain  copy <!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>   [html]  view plain  copy    Servlet接收数据并处理: [java]  view plain  copy 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文档如下: [html]  view plain  copy <?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>  
转载请注明原文地址: https://www.6miu.com/read-23664.html

最新回复(0)