setvlet:控制台获取前端表单以及xml文件数据信息

一,创建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,查看控制台输出结果
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值