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);
}
}