即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

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

编程语言 strivenoend 20℃ 0评论
需求如下:
 * 需求


 * 完成用户注册效果。


 具体要求:


 1)用户输入信息:用户名,密码,确认密码,性别,出生日期,电子邮箱,地址 。


 2)用户输入信息后,调用相关的XML操作类,把数据保存到XML文件中。


 3)保存成功后,显示成功信息。


注册页面如下:

首页html代码如下:
[html] view
plain
 copy

  1. >  
  2. <html>  
  3.   <head>  
  4.     <title>用户注册页面title>  
  5.       
  6.     <meta http-equiv=“keywords” content=“keyword1,keyword2,keyword3”>  
  7.     <meta http-equiv=“description” content=“this is my page”>  
  8.     <meta http-equiv=“content-type” content=“text/html; charset=UTF-8”>  
  9.       
  10.       
  11.   
  12.   
  13.   head>  
  14.     
  15.   <body>  
  16.   <form action=“/day09/RegServlet”  method=“post”>  
  17.     <h1>用户登陆h1>  
  18.     <h2>请填写注册信息h2>  
  19.     姓名:<input type=“text” name=“userName” ><br>  
  20.     密码:<input type=“password” name=“userPassword”  id=“pwd”><br>  
  21.     确认密码:<input type=“password” name=“again_userPassword”  id=“again_pwd” >(PS:如果两次密码匹配不正确,提交后重新注册)<br>  
  22.     性别:<input type=“radio” name=“sex” value=“男”>男  
  23.               <input type=“radio” name=“sex” value=“女”><br>  
  24.     出身日期:<input type=“text” name=“age” ><br>  
  25.   
  26.       电子邮箱:<input type=“text” name=“email”><br>  
  27.       地址:<select name=“sheng”>  
  28.                     <option value=“广东”>广东option>  
  29.                     <option value=“广西”>广西option>  
  30.                     <option value=“云南”>云南option>  
  31.                     <option value=“其他”>其他option>  
  32.                 select><br>  
  33.         <input type=“submit” value=“提交”>  
  34.           
  35.                 form>  
  36.   body>  
  37. html>  
[html] view
plain
 copy

  1.   
Servlet接收数据并处理:
[java] view
plain
 copy

  1. import java.io.FileOutputStream;  
  2. import java.io.IOException;  
  3. import java.io.PrintWriter;  
  4.   
  5. import javax.servlet.RequestDispatcher;  
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10. import javax.swing.text.html.HTMLDocument.HTMLReader.FormAction;  
  11.   
  12. import org.dom4j.Document;  
  13. import org.dom4j.DocumentException;  
  14. import org.dom4j.Element;  
  15. import org.dom4j.io.OutputFormat;  
  16. import org.dom4j.io.SAXReader;  
  17. import org.dom4j.io.SAXWriter;  
  18. import org.dom4j.io.XMLWriter;  
  19.   
  20. public class RegServlet extends HttpServlet {  
  21.   
  22.    
  23.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  24.             throws ServletException, IOException {  
  25.         //设置编码,但该函数在get方法中不适用,要自己对每个字符串转换  
  26.         request.setCharacterEncoding(“utf-8”);  
  27.         String name = request.getParameter(“userName”);  
  28.         String userName = new String(name.getBytes(“ISO-8859-1”),“utf-8”);  
  29.            
  30.         String password = request.getParameter(“userPassword”);  
  31.          String againPassword = request.getParameter(“again_userPassword”);  
  32.          String sex = request.getParameter(“sex”);  
  33.          String age = request.getParameter(“age”);  
  34.          String email = request.getParameter(“email”);  
  35.          String sheng = request.getParameter(“sheng”);  
  36.            
  37.          //判断两次密码是否相符  
  38.         if(!password.equals(againPassword)){  
  39.             System.out.println(“两次密码不匹配,请重新输入”);  
  40.             response.getWriter().append(“两次密码不匹配,请重新输入”);  
  41.             response.sendRedirect(“/day09/Register.html”);      //重定向到登陆页面  
  42.             return;  
  43.         }  
  44.            
  45.          SAXReader sr = new SAXReader();  
  46.          try {  
  47.              //读取xml文档  
  48.             Document doc = sr.read(“D:/My Eclipse/day09/src/user.xml”);  
  49.             Element root = doc.getRootElement();        //获取根标签   
  50.             Element user = root.addElement(“user”);  
  51.             user.addElement(“name”).setText(name);      //为标签设置值  
  52.             user.addElement(“password”).setText(password);  
  53.             user.addElement(“sex”).setText(sex);  
  54.             user.addElement(“age”).setText(age);  
  55.             user.addElement(“sheng”).setText(sheng);  
  56.               
  57.             XMLWriter sw = new XMLWriter(  
  58.                     new FileOutputStream(“D:/My Eclipse/day09/src/user.xml”),  
  59.                     OutputFormat.createPrettyPrint()        //以正常格式写进文档  
  60.                     );  
  61.             sw.write(doc);  
  62.             sw.close();  
  63.               
  64.             RequestDispatcher dispatcher =  
  65.                     request.getRequestDispatcher(“/succ.html”);     //转发  
  66.             dispatcher.forward(request, response);  
  67.         } catch (Exception e) {  
  68.             e.printStackTrace();  
  69.         }  
  70.            
  71.     }  
  72.   
  73.        
  74.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  75.             throws ServletException, IOException {  
  76.         doGet(request,response);  
  77.     }  
  78.   
  79. }  


xml文档如下:
[html] view
plain
 copy

  1. xml version=“1.0” encoding=“UTF-8”?>  
  2.   
  3. <Users>   
  4.   <user>   
  5.     <name>何胜name>    
  6.     <password>2klj3password>    
  7.     <sex>sex>    
  8.     <age>91年04月22日age>    
  9.     <sheng>广东sheng>   
  10.   user>    
  11.   <user>  
  12.     <name>默默name>  
  13.     <password>987456password>  
  14.     <sex>sex>  
  15.     <age>94年11月11日age>  
  16.     <sheng>云南sheng>  
  17.   user>  
  18. Users>  

转载请注明:CodingBlog » html页面提交数据,使用servlet接收数据并写进xml里

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情