首页 > 其他分享 >请求响应~响应

请求响应~响应

时间:2024-07-10 12:56:56浏览次数:16  
标签:请求 gender element 响应 job emp import String

介绍

        新手程序员一枚,渴望成为大神,来点关注来点赞,给我介绍几个大神也行,球球了。


        主要记录自己的学习过程,将之前的笔记进行整理并分享一下,有错误请指出,谢谢各位大佬爷们的观看。

        下面开始分享我的笔记


概述

规范

案例

需求

  • 加载并解析emp.xml文件中的数据,完成数据处理,并在页面中展示。

步骤

  1. 在pom.xml文件中引入dom4j的依赖,用于解析XML文件。

  2. 引入资料中提供的解析XML的工具类XMLParserUtils、对应的实体类EMP、XML文件emp.xml。

  3. 引入资料中提供的静态页面文件,放在resources下的static目录下

  4. 编写Controller程序,处理请求,响应数据。

实现

  • Maven

  • <!--        解析XML-->
            <dependency>
                <groupId>org.dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>2.1.3</version>
            </dependency>
  • 工具类utils

  • package com.testpeople.utils;
    
    //功能:解析XML文件
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    import java.io.File;
    import java.lang.reflect.Constructor;
    import java.util.ArrayList;
    import java.util.List;
    
    public class XmlParserUtils {
        public static <T> List<T> parse(String file, Class<T> targetClass) {
            ArrayList<T> list = new ArrayList<T>();
            try {
                //1.获取一个解析器对象
                SAXReader saxReader = new SAXReader();
                //2.利用解析器把xml文件加载到内存中,并返回一个文档对象
                Document document = saxReader.read(new File(file));
                //3.获取到根标签
                Element rootElement = document.getRootElement();
                //4.通过根标签来获取 user 标签
                List<Element> elements = rootElement.elements("emp");
    
                //5.遍历集合,得到每一个 user 标签
                for (Element element : elements) {
                    //获取 name 属性
                    String name = element.element("name").getText();
                    //获取 age 属性
                    String age = element.element("age").getText();
                    //获取 image 属性
                    String image = element.element("image").getText();
                    //获取 gender 属性
                    String gender = element.element("gender").getText();
                    //获取 job 属性
                    String job = element.element("job").getText();
    
                    //组装数据
                    Constructor<T> constructor = targetClass.getDeclaredConstructor(String.class, Integer.class, String.class, String.class, String.class);
                    constructor.setAccessible(true);
                    T object = constructor.newInstance(name, Integer.parseInt(age), image, gender, job);
    
                    list.add(object);
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return list;
        }
    }
  • 前端页面

编写

package com.testpeople.controller;

//响应数据类
import com.testpeople.pojo.Emp;
import com.testpeople.pojo.Result;
import com.testpeople.utils.XmlParserUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class EmpController {

    @RequestMapping("/listEmp")
    public Result list(){

        //加载并解析XML文件
        String filePath = this.getClass().getClassLoader().getResource("emp.xml").getFile();
        System.out.println(filePath);
        List<Emp> empList = XmlParserUtils.parse(filePath, Emp.class);


        //对数据进行处理
        empList.stream().forEach(emp ->{
            //处理gender~男:1  女:2
            String gender = emp.getGender();
            if ("1".equals(gender)){
                emp.setGender("男");
            } else if ("2".equals(gender)) {
                emp.setGender("女");
            }

            //处理job~讲师:1    班主任:2   就业指导:3
            String job = emp.getJob();
            if ("1".equals(job)){
                emp.setJob("讲师");
            } else if ("2".equals(job)) {
                emp.setJob("班主任");
            } else if ("3".equals(job)) {
                emp.setJob("就业指导");
            }

        });
        //响应数据
        return Result.success(empList);

    }


}

测试

  • postman

展示


以上是学习的第八弹笔记,也是后端开始的第四弹笔记,感兴趣的关注一手,后面会慢慢更新笔记。

项目位置!!!!!

https://gitee.com/zsjnew/admin_web_project.git

马上公司组织爬山了,记得关注哦,感谢各位老爷们!!!

标签:请求,gender,element,响应,job,emp,import,String
From: https://blog.csdn.net/m0_61801450/article/details/140320912

相关文章

  • PySide/PyQt中使网络请求更加方便简洁的实践
    众所周知,在PySide中,想要发送网络请求且不阻塞GUI线程,需要使用QNetworkAccessManager,但是这个东西用起来十分麻烦,需要写很多槽函数,而且不能必须要绑定在对象上,否则会报空指针。这种写法非常不优雅,而且让代码变得十分复杂。因此在写项目的实践中,我写了这样一个库,可以简化网络请求,特......
  • 应急响应思路及实操
    被打进来了,首先要干什么,其次要干什么?这都是有顺序的,分秒必争服务器沦陷-->判断服务器所属范围-->是类似于dmz区的服务器,还是内网服务器,还是中转服务器-dmz区服务器-->可能通过web漏洞打进来的-->根据查看态势感知日志或者本地日志研判攻击原因-——>上机查杀木马------>清理权限......
  • 23、Django-CSRF跨站伪造请求攻击
     配置:1、在settings.py中确认MIDDLEWARE中确保--django.middleware.csrf.CsrfViewMiddleware打开2、在模板中、form标签下添加如下标签:--{%csrf_token%}#这个就是页面中的暗号 案例views.py-------------------------------------------------......
  • Bullet 学习笔记之 软体仿真流程(二) 软体碰撞检测与响应
    简述Bullet中软体的碰撞检测与响应算法,仅针对Soft类型,Deformable类型不包含在这篇文章中。1.软体碰撞检测在BulletPhysics中,软体的碰撞检测采用的是“点-面”的方法,即分别用两个软体的m_ndbvt和m_fdbvt做碰撞检测,两个bvh树之间的遍历方法不在此展开,当Node......
  • 跨站请求伪造(CSRF)攻击原理及预防手段
    1、什么是跨站请求伪造?CSRF(Cross-siteRequestForgery,跨站请求伪造)攻击是一种常见的Web攻击,它利用用户在登录某个网站后的有效session来发送恶意请求。攻击者通过引导用户访问恶意网站,将用户的数据提交到目标网站,欺骗目标网站相信该请求是用户发送的。CSRF攻击的关键是攻击者可......
  • 请求响应~请求
    介绍        新手程序员一枚,渴望成为大神,来点关注来点赞,给我介绍几个大神也行,球球了。        主要记录自己的学习过程,将之前的笔记进行整理并分享一下,有错误请指出,谢谢各位大佬爷们的观看。        下面开始分享我的笔记概述请求接口测试工......
  • Linux环境中应急响应与排查溯源思路总结
    0前言在应急响应和溯源时,经常会遇见Linux系统环境,然后小编经常只记得思路忘记部分命令,下面是小编对Linux环境下应急响应和排查的思路总结。本文来源无问社区(wwlib.cn)更多详细内容可前往观看http://www.wwlib.cn/index.php/artread/artid/2729.html1目录文件分析1.1系统用......
  • 几行代码,优雅的避免接口重复请求!同事都说好!
    背景简介我们日常开发中,经常会遇到点击一个「按钮」或者进行「搜索」时,请求接口的需求。如果我们不做优化,连续点击「按钮」或者进行「搜索」,接口会重复请求。❝首先,这会导致性能浪费!最重要的,如果接口响应比较慢,此时,我们在做其他操作会有一系列bug!❞那么,我们该如何规避这种......
  • 什么是并发连接数、请求数、并发用户数?
    概念并发连接数-SBC(SimultaneousBrowserConnections)并发连接数指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器链接的总TCP数量,就是并发连接数。请求数-QPS(QueryPerSecond)/RPS(RequestPerSecond)请求数有2个缩写,可以叫QPS也可以叫RPS。单位是每秒多少请求。Qu......
  • Linux系统运维命令:查看http的并发请求数及其TCP连接状态(使用netstat结合awk和sort,组合
    一、需求二、解决方法(一)解决思路(二)命令三、实例演示和命令解释(一)实例演示(二)命令解释四、扩展一、需求用户访问一个视频监控平台的web服务特别频繁,据客户说,有大概2000个用户,要随机访问这个视频监控平台,这样对带宽的要求非常大。因此,他们需要查看到底有多少个http的并......