一,创建maven项目,编写xml
首先我们从创建一个maven 项目可以使用webapp模板,然后配置web.xml文件 可以直接复制以下代码
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id="WebApp_ID" version="4.0">
</web-app>
二,编写前端html页面
目录结构如下图
html代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="get" action="admin">
<span>名字</span> <input type="text" name="skr1">
<br>
<span>简介</span> <textarea name="skr2"></textarea>
<br>
密码<input type="password" name="skr3">
<br>
<input type="radio" name="skr4" value="1">男
<input type="radio" name="skr4" value="2">女
<br>
<input type="checkbox" name="skr5" value="2">唱
<input type="checkbox" name="skr5" value="3">跳
<input type="checkbox" name="skr5" value="4">篮球
<br>
<input type="date" name="skr6" >时间
<br>
<input type="file" name="skr7">
<br>
<input type="submit" value="提交">
</form>
</body>
</html>
三,编写HttpServlet子类 ,重写doGet和doPost方法
代码如下
package com.slr;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/admin")
public class Hao extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码集,防止乱码
req.setCharacterEncoding("UTF-8");
//通过name属性获得value值
String username = req.getParameter("skr1");
String message = req.getParameter("skr2");
String password = req.getParameter("skr3");
String gender = req.getParameter("skr4");
String favorite = req.getParameter("skr5");
String date = req.getParameter("skr6");
String file = req.getParameter("skr7");
System.out.println("username=" + username);
System.out.println("password=" + password);
System.out.println("message="+message);
System.out.println("gender="+gender);
System.out.println("favorite="+favorite);
System.out.println("date="+date);
System.out.println("file="+file);
}
}
四,运行tomcat,弹出下图前端界面
填写信息后提交,控制台输出以下
成功
五,如何获取资源路径下xml文件数据
在resources下建立xml文件—》student.xml
<?xml version="1.0" encoding="utf-8"?>
<students>
<student id="001">
<name>味儿哥</name>
<age>65</age>
<gender>男</gender>
<address>
<province>河南省</province>
<city>郑州</city>
<area>高新区</area>
</address>
</student>
<student id="002">
<name>龙八</name>
<age>22</age>
<gender>男</gender>
<address>
<province>河南省</province>
<city>郑州</city>
<area>高新区</area>
</address>
</student>
<student id="001">
<name>杰哥没有腰子了~~~</name>
<age>22</age>
<gender>男</gender>
<address>
<province>河南省</province>
<city>郑州</city>
<area>高新区</area>
</address>
</student>
</students>
六,创建测试类
先导入依赖
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.1</version>
</dependency>
package com.godhao;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class Demo2 {
public static void main(String[] args) throws DocumentException, IOException {
InputStream student = Demo2.class.getClassLoader().getResourceAsStream("student.xml");
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(student);
Element rootElement = document.getRootElement();
List<Node> nodes = rootElement.selectNodes("//age"); //获得所有属性名称age的
nodes.forEach(n -> System.out.println(n.getName() + ":" + n.getText()));
System.out.println("----------------------------------------------------------------");
List<Node> nodes1 = rootElement.selectNodes("//address/*"); //获得所有adress标签下面的属性
nodes1.forEach(n -> System.out.println(n.getName() + ":" + n.getText()));
System.out.println("----------------------------------------------------------------");
List<Node> nodes2 = rootElement.selectNodes("student[@id='001']/*"); //指定student标签id
for (Node n : nodes2){
System.out.println(n.getName() + ":" + n.getText());
}
System.out.println("----------------------------------------------------------------");
List<Node> nodes4 = rootElement.selectNodes("//student[last()]"); //找到最后一个student标签
nodes4.forEach(n -> {
Element e = (Element) n;
System.out.println(e.attributeValue("id"));
});
student.close(); //不要忘了关闭资源
}
}
启动tomcat,查看控制台输出结果