suchen
HeimBackend-EntwicklungXML/RSS-TutorialVerwenden Sie XMLBean, um XML einfach zu lesen und zu schreiben

1. Informationen zum XML-Parsing

XML wird in Java-Anwendungen immer wichtiger und wird häufig bei der Datenspeicherung und dem Datenaustausch verwendet Wird in Technologien wie Java Message Service und Web Services für den Datenaustausch verwendet. Daher ist das korrekte Lesen und Schreiben von XML-Dokumenten die Grundlage für XML-Anwendungen.

Java bietet zwei Methoden, SAX und DOM, zum Parsen von XML Trotzdem ist es keine leichte Aufgabe, ein etwas komplexes XML zu lesen und zu schreiben.

2. Einführung in XMLBean

Hibernate hat sich zu einer beliebten Objekt-/relationalen Datenbank für Java-Umgebungen entwickelt Vor dem Aufkommen von Objekt-/relationalen Datenbank-Mapping-Tools wie Hibernate mussten Entwickler für jede Operation in der Datenbank selbst SQL-Anweisungen schreiben. Die Operationen auf der Datenbank werden in Operationen auf JavaBeans umgewandelt, was die Datenbankentwicklung erheblich erleichtert. Wenn es daher ein ähnliches Tool gibt, das das Lesen und Schreiben von XML in Operationen auf JavaBeans umwandeln kann, wird es das Lesen und Schreiben von XML vereinfachen. Selbst Entwickler, die mit XML nicht vertraut sind, können XML problemlos lesen und schreiben.

3. XMLBean und XML-Dokumente vorbereiten

Herunterladen von http://www.apache.org , die neueste Version ist 2.0. Das entpackte Verzeichnis lautet wie folgt:

xmlbean2.0.0
     +---bin
     +---docs
     +---lib
     +---samples
     +---schemas

Zusätzlich müssen Sie ein XML-Dokument (customers.xml) vorbereiten,

Im Beispiel dieses Artikels , wir werden dieses Dokument lesen und schreiben:

<?xml version="1.0" encoding="UTF-8"?>
<Customers>
    <customer>
            <id>1</id>
            <gender>female</gender>
            <firstname>Jessica</firstname>
            <lastname>Lim</lastname>
            <phoneNumber>1234567</phoneNumber>
            <address>
                <PRimaryAddress>
                        <postalCode>350106</postalCode>
                        <addressLine1>#25-1</addressLine1>
                        <addressLine2>SHINSAYAMA 2-CHOME</addressLine2>
                </primaryAddress>
                <billingAddress>
                        <receiver>Ms Danielle</receiver>
                        <postalCode>350107</postalCode>
                        <addressLine1>#167</addressLine1>
                        <addressLine2>NORTH TOWER HARBOUR CITY</addressLine2>
                </billingAddress>
            </address>
    </customer>
    <customer>
            <id>2</id>
            <gender>male</gender>
            <firstname>David</firstname>
            <lastname>Bill</lastname>
            <phoneNumber>808182</phoneNumber>
            <address>
                <primaryAddress>
                        <postalCode>319087</postalCode>
                        <addressLine1>1033 WS St.</addressLine1>
                        <addressLine2>Tima Road</addressLine2>
                </primaryAddress>
                <billingAddress>
                        <receiver>Mr William</receiver>
                        <postalCode>672993</postalCode>
                        <addressLine1>1033 WS St.</addressLine1>
                        <addressLine2>Tima Road</addressLine2>
                </billingAddress>
            </address>
    </customer>
</Customers>

Dies ist ein Kundendatenmodell. Jeder Kunde hat eine Kundennummer (ID), einen Namen, ein Geschlecht (Geschlecht). Telefonnummer (phoneNumber) und Adresse, von denen es zwei Adressen gibt: Primäradresse (PrimaryAddress) und Rechnungsadresse (BillingAddress). Jede Adresse besteht aus Postleitzahl, Adresse 1 und Adresse 2. Die Rechnungsadresse ist auch der Empfänger (). Darüber hinaus muss eine Konfigurationsdatei (Dateiname customer.xsdconfig) erstellt werden. Auf die Funktion dieser Datei werde ich später noch eingehen:

<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config">
  <xb:namespace>
    <xb:package>sample.xmlbean</xb:package>
  </xb:namespace>
</xb:config>

4. Die Schritte für die Verwendung von XMLBean

sind die gleichen wie für die Verwendung anderer Objekt-/relationaler Datenbank-Mapping-Tools für die Java-Umgebung. Vor der offiziellen Verwendung von XMLBean müssen wir zwei Vorbereitungen treffen: 1. Generieren XML-Schemadatei

Was ist eine XML-Schemadatei? Normalerweise verfügt jede XML-Schemadatei über eine XML-Einschränkungsdatei, die die Struktur und die Elemente der XML-Datei definiert die Elemente und strukturellen Einschränkungen: Wenn eine XML-Datei ein Datensatz in einer Datenbank ist, dann ist Schema eine Tabellenstrukturdefinition.

Warum muss XMLBean die Struktur und Einschränkungen kennen? Über diese Datei können Sie eine XML-Datei erstellen, z. B. Datentypen usw. Mithilfe dieser Schemadatei generiert XMLBean eine Reihe verwandter Java-Klassen, um Vorgänge in XML zu implementieren. Als Entwickler verwenden Sie die von XMLBean generierten Java-Klassen, um Vorgänge abzuschließen XML ohne die Notwendigkeit von SAX oder DOM. Entwickler, die mit XML vertraut sind, können diese Schemadatei selbst schreiben. Entwickler, die mit XML nicht vertraut sind, können sie mit einigen Tools vervollständigen. Die bekanntesten sind XMLSPY und Stylus Studio. Fügen Sie hinzu, dass wir diese Schemadatei (customer.xsd) generiert haben:

2
  <?xml version="1.0" encoding="UTF-8"?>
       <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                  elementFormDefault="qualified">
         <xs:element name="Customers">
           <xs:complexType>
             <xs:sequence>
               <xs:element maxOccurs="unbounded" name="customer"
                           type="customerType"/>
             </xs:sequence>
           </xs:complexType>
         </xs:element>
       <xs:complexType name="customerType">
             <xs:sequence>
               <xs:element name="id" type="xs:int"/>
               <xs:element name="gender" type="xs:string"/>
               <xs:element name="firstname" type="xs:string"/>
               <xs:element name="lastname" type="xs:string"/>
               <xs:element name="phoneNumber" type="xs:string"/>
               <xs:element name="address" type="addressType"/>
             </xs:sequence>
       </xs:complexType>
         <xs:complexType name="addressType">
             <xs:sequence>
               <xs:element name="primaryAddress" type="primaryAddressType"/>
               <xs:element name="billingAddress" type="billingAddressType"/>
             </xs:sequence>
         </xs:complexType>
         <xs:complexType name="primaryAddressType">
             <xs:sequence>
               <xs:element name="postalCode" type="xs:string"/>
               <xs:element name="addressLine1" type="xs:string"/>
               <xs:element name="addressLine2" type="xs:string"/>
             </xs:sequence>
         </xs:complexType>
         <xs:complexType name="billingAddressType">
             <xs:sequence>
                   <xs:element name="receiver" type="xs:string"/>
               <xs:element name="postalCode" type="xs:string"/>
               <xs:element name="addressLine1" type="xs:string"/>
               <xs:element name="addressLine2" type="xs:string"/>
             </xs:sequence>
         </xs:complexType>
       </xs:schema>

scomp wird von XMLBean bereitgestellt. Ein Kompilierungstool, das sich im bin-Verzeichnis befindet. Mit diesem Tool können wir Java-Klassen aus der obigen Schemadatei generieren. Die Syntax von scomp lautet wie folgt: -

Hauptparameterbeschreibung:
  scomp [options] [dirs]* [schemaFile.xsd]* [service.wsdl]* [config.xsdconfig]*

config.xsdconfig – der Speicherort der xsdconfig-Datei. Diese Datei wird hauptsächlich zum Formulieren einiger Dateinamenregeln für die generierte Java-Klasse und des Namens verwendet Das Paket. In diesem Artikel habe ich es wie folgt ausgeführt:
-src [dir] -- 生成的Java Classes存放目录
  -srconly -- 不编译Java Classes,不产生Jar文件
  -out [jarFileName] -- 生成的Jar文件,缺省是xmltypes.jar
  -compiler -- Java编译器的路径,即Javac的位置
  schemaFile.xsd -- XML Schema文件位置

Diese Befehlszeile bedeutet, scomp anzuweisen, customerXmlBean.jar zu generieren und im Build-Verzeichnis abzulegen Gleichzeitig wird der Quellcode generiert und unter buildsrc abgelegt. Die Dateien xsd und xsdconfig sind tatsächlich von geringem Nutzen Werfen wir zunächst einen Blick auf die unter buildsrcsamplexmlbean generierten Klassen. Jetzt sind alle unsere Vorbereitungsarbeiten abgeschlossen: Kommen wir einfach zur Sache generiert, um XML zu lesen und zu schreiben.

5. Verwenden Sie XMLBean, um XML-Dateien zu lesen.
 scomp -src build\src  -out build\customerXmlBean.jar schema\customer.xsd
             -compiler C:\jdk142_04\bin\javac customer.xsdconfig

Erstellen Sie ein neues Java-Projekt, fügen Sie die Jar-Datei unter XMLBean2.0.0lib und die soeben generierte customerXmlBean.jar hinzu zum Klassenpfad des Projekts.

CustomersDocument.java -- 整个XML文档的Java Class映射
  CustomerType.java -- 节点sustomer的映射
  AddressType.java -- 节点address的映射
  BillingAddressType.java -- 节点billingAddress的映射
  PrimaryAddressType.java -- 节点primaryAddress的映射
Erstellen Sie eine neue Java-Klasse: CustomerXMLBean. Der Quellcode lautet wie folgt:

Führen Sie ihn aus und sehen Sie sich die Ausgabeergebnisse an:

Wie wäre es, ist es sehr einfach?

6. Verwenden Sie XMLBean, um XML-Dateien zu schreiben.
 package com.sample.reader;
    import java.io.File;
    
    import sample.xmlbean.*;
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.xmlbeans.XmlOptions;
    public class CustomerXMLBean {
    private String filename = null;
    
    public CustomerXMLBean(String filename) {
            super();
            this.filename = filename;
    }
    public void customerReader() {
            try {
              File xmlFile = new File(filename);
              CustomersDocument doc = CustomersDocument.Factory.parse(xmlFile);
              CustomerType[] customers = doc.getCustomers().getCustomerArray();
          
              for (int i = 0; i < customers.length; i++) {
                CustomerType customer = customers[i];
                println("Customer#" + i);
                println("Customer ID:" + customer.getId());
                println("First name:" + customer.getFirstname());
                println("Last name:" + customer.getLastname());
                println("Gender:" + customer.getGender());
                println("PhoneNumber:" + customer.getPhoneNumber());
                // Primary address
                PrimaryAddressType primaryAddress = customer.getAddress().getPrimaryAddress();
                println("PrimaryAddress:");
                println("PostalCode:" + primaryAddress.getPostalCode());
                println("AddressLine1:" + primaryAddress.getAddressLine1());
                println("AddressLine2:" + primaryAddress.getAddressLine2());
                // Billing address
                BillingAddressType billingAddress = customer.getAddress().getBillingAddress();
                println("BillingAddress:");
                println("Receiver:" + billingAddress.getReceiver());
                println("PostalCode:" + billingAddress.getPostalCode());
                println("AddressLine1:" + billingAddress.getAddressLine1());
                println("AddressLine2:" + billingAddress.getAddressLine2());
            
              }
            } catch (Exception ex) {
                    ex.printStackTrace();
            }
    }
    private void println(String str) {
          System.out.println(str);
    }
   public static void main(String[] args) {
      String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers.xml";
                   
     CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename);
                   customerXMLBean.customerReader();
    }
    }

Die Verwendung von XMLBean zum Erstellen einer XML-Dokumentation ist ebenfalls ein Kinderspiel eine andere Methode,

  Customer#0
       Customer ID:1
       First name:Jessica
       Last name:Lim
       Gender:female
       PhoneNumber:1234567
       PrimaryAddress:
       PostalCode:350106
       AddressLine1:#25-1
       AddressLine2:SHINSAYAMA 2-CHOME
       BillingAddress:
       Receiver:Ms Danielle
       PostalCode:350107
       AddressLine1:#167
       AddressLine2:NORTH TOWER HARBOUR CITY
       Customer#1
       Customer ID:2
       First name:David
       Last name:Bill
       Gender:male
       PhoneNumber:808182
       PrimaryAddress:
       PostalCode:319087
       AddressLine1:1033 WS St.
       AddressLine2:Tima Road
       BillingAddress:
       Receiver:Mr William
       PostalCode:672993
       AddressLine1:1033 WS St.
       AddressLine2:Tima Road
Bitte schauen Sie sich die Java-Klasse an:

Ändern Sie die Hauptmethode

Führen Sie aus, öffnen Sie customer_new.xml:

 public void createCustomer() {
    try {
        // Create Document
        CustomersDocument doc = CustomersDocument.Factory.newInstance();
        // Add new customer
        CustomerType customer = doc.addNewCustomers().addNewCustomer();
        // set customer info
        customer.setId(3);
        customer.setFirstname("Jessica");
        customer.setLastname("Lim");
        customer.setGender("female");
        customer.setPhoneNumber("1234567");
        // Add new address
        AddressType address = customer.addNewAddress();
        // Add new PrimaryAddress
        PrimaryAddressType primaryAddress = address.addNewPrimaryAddress();
        primaryAddress.setPostalCode("350106");
        primaryAddress.setAddressLine1("#25-1");
        primaryAddress.setAddressLine2("SHINSAYAMA 2-CHOME");
        // Add new BillingAddress
        BillingAddressType billingAddress = address.addNewBillingAddress();
        billingAddress.setReceiver("Ms Danielle");
        billingAddress.setPostalCode("350107");
        billingAddress.setAddressLine1("#167");
        billingAddress.setAddressLine2("NORTH TOWER HARBOUR CITY");
        File xmlFile = new File(filename);
        doc.save(xmlFile);
        } catch (Exception ex) {
                ex.printStackTrace();
        }
  }
7. Verwenden Sie XMLBean, um die XML-Datei zu ändern

Wir fügen eine weitere Methode hinzu:
   public static void main(String[] args) {
    String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers_new.xml";
        CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename);
        customerXMLBean.createCustomer();
    }

Nach dem Ausführen sehen wir den Nachnamen des Kunden mit der Kundennummer 3 wurde in „letzte“ geändert.
 <?xml version="1.0" encoding="UTF-8"?>
    <Customers>
    <customer>
            <id>3</id>
            <gender>female</gender>
            <firstname>Jessica</firstname>
            <lastname>Lim</lastname>
            <phoneNumber>1234567</phoneNumber>
            <address>
                    <primaryAddress>
                         <postalCode>350106</postalCode>
                         <addressLine1>#25-1</addressLine1>
                                       <addressLine2>SHINSAYAMA 2-CHOME</addressLine2>
                    </primaryAddress>
                    <billingAddress>
                        <receiver>Ms Danielle</receiver>
                        <postalCode>350107</postalCode>
                       <addressLine1>#167</addressLine1>
                       <addressLine2>NORTH TOWER HARBOUR CITY</addressLine2>
                    </billingAddress>
                    </address>
            </customer>
    </Customers>

8. Verwenden Sie XMLBean, um einen Kunden zu löschen

und fügen Sie eine weitere Methode hinzu:

public void deleteCustomer(int id) {
     try {
      File xmlFile = new File(filename);
     CustomersDocument doc = CustomersDocument.Factory.parse(xmlFile);
    CustomerType[] customers = doc.getCustomers().getCustomerArray();
   for (int i = 0; i < customers.length; i++) {
        CustomerType customer = customers[i];
        if(customer.getId()==id){
                        customer.setNil() ;
                        break;
               }
   }
   doc.save(xmlFile);
   } catch (Exception ex) {
        ex.printStackTrace();
        }
   }
  main method:
    public static void main(String[] args) {
    String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers_new.xml";
                    
    CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename);
                    
    customerXMLBean.deleteCustomer(3);
    }

运行,我们将会看到客户编号为3的客户的资料已经被删除.

  九、查询XML

  除了本文在以上讲述的,利用XMLBean能轻轻松松完成XML的读写操作外,结合XPath和XQuery,XMLBean还能完成象SQL查询数据库一样方便地查询XML数据. 关于XML查询以及如何创建XML数据库, 我将在另一篇文章里讨论.

  十、结束语

  XMLBean能帮助我们轻易读写XML,这将有助于我们降低XML的学习和使用,有了这个基础,开发人员将为学习更多地XML相关技术和Web Services,JMS等其他J2EE技术打下良好地基础.

 以上就是利用XMLBean轻轻松松读写XML的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
RSS -Dokumentformate: RSS 2.0 und darüber hinaus ErkundungRSS -Dokumentformate: RSS 2.0 und darüber hinaus ErkundungApr 26, 2025 am 12:22 AM

RSS2.0 ist ein offener Standard, mit dem Content -Publisher Inhalte strukturiert verteilen kann. Es enthält reichhaltige Metadaten wie Titel, Links, Beschreibungen, Veröffentlichungsdaten usw., mit denen Abonnenten schnell durchsuchen und auf Inhalte zugreifen können. Die Vorteile von RSS2.0 sind seine Einfachheit und Skalierbarkeit. Beispielsweise ermöglicht es benutzerdefinierte Elemente, dh Entwickler können zusätzliche Informationen basierend auf ihren Anforderungen hinzufügen, z. B. Autoren, Kategorien usw.

RSS verstehen: Eine XML -PerspektiveRSS verstehen: Eine XML -PerspektiveApr 25, 2025 am 12:14 AM

RSS ist ein XML-basiertes Format, das zur Veröffentlichung häufig aktualisierter Inhalte verwendet wird. 1. RSSFEED organisiert Informationen über die XML -Struktur, einschließlich Titel, Link, Beschreibung usw. 2. Das Erstellen von RSSFeed erfordert das Schreiben in der XML -Struktur und addiert Metadaten wie Sprache und Veröffentlichungsdatum. 3. Die erweiterte Verwendung kann Multimedia -Dateien und klassifizierte Informationen enthalten. 4. Verwenden Sie beim Debuggen XML -Überprüfungswerkzeuge, um sicherzustellen, dass die erforderlichen Elemente existieren und korrekt codiert werden. 5. Optimierung von RSSFeed kann durch Pagen, Zwischenspeichern und Einfachen der Struktur erreicht werden. Durch das Verständnis und Anwenden dieses Wissens können Inhalte effektiv verwaltet und verteilt werden.

RSS in XML: Decodierungs -Tags, Attribute und StrukturRSS in XML: Decodierungs -Tags, Attribute und StrukturApr 24, 2025 am 12:09 AM

RSS ist ein XML-basiertes Format, das zum Veröffentlichen und Abonnieren von Inhalten verwendet wird. Die XML -Struktur einer RSS -Datei enthält ein Stammelement, ein Element und mehrere Elemente, die jeweils einen Inhaltseintrag darstellen. Lesen und analysieren Sie RSS -Dateien über XML -Parser, und Benutzer können den neuesten Inhalt abonnieren und abrufen.

Die Vorteile von XML in RSS: ein technischer TauchgangDie Vorteile von XML in RSS: ein technischer TauchgangApr 23, 2025 am 12:02 AM

XML hat die Vorteile strukturierter Daten, Skalierbarkeit, plattformübergreifender Kompatibilität und Parsingüberprüfung in RSS. 1) Strukturierte Daten sorgen für die Konsistenz und Zuverlässigkeit des Inhalts; 2) Die Skalierbarkeit ermöglicht das Hinzufügen von benutzerdefinierten Tags, um den Inhaltsanforderungen zu entsprechen. 3) Die plattformübergreifende Kompatibilität funktioniert es nahtlos auf verschiedenen Geräten. 4) Analytische und Überprüfungswerkzeuge gewährleisten die Qualität und Integrität des Futters.

RSS in XML: Enthüllung des Kerns der InhaltssyndizierungRSS in XML: Enthüllung des Kerns der InhaltssyndizierungApr 22, 2025 am 12:08 AM

Die Implementierung von RSS in XML besteht darin, Inhalte durch ein strukturiertes XML -Format zu organisieren. 1) RSS verwendet XML als Datenaustauschformat, einschließlich Elemente wie Kanalinformationen und Projektliste. 2) Beim Generieren von RSS -Dateien müssen Inhalte gemäß den Spezifikationen organisiert und für das Abonnement auf dem Server veröffentlicht werden. 3) RSS-Dateien können über einen Leser oder ein Plug-in abonniert werden, um den Inhalt automatisch zu aktualisieren.

Über die Grundlagen hinaus: Fortgeschrittene RSS -DokumentfunktionenÜber die Grundlagen hinaus: Fortgeschrittene RSS -DokumentfunktionenApr 21, 2025 am 12:03 AM

Zu den erweiterten Funktionen von RSS gehören Inhaltsnamenspaces, Erweiterungsmodule und bedingte Abonnements. 1) Inhaltsnamenspace erweitert die RSS -Funktionalität, 2) erweiterte Module wie Dublincore oder iTunes, um Metadaten hinzuzufügen, 3) bedingte Abonnementfiltereinträge basierend auf bestimmten Bedingungen. Diese Funktionen werden implementiert, indem XML -Elemente und -attribute hinzugefügt werden, um die Effizienz des Informationen zu verbessern.

Das XML -Rückgrat: Wie RSS -Feeds strukturiert sindDas XML -Rückgrat: Wie RSS -Feeds strukturiert sindApr 20, 2025 am 12:02 AM

RSSFEEDSUSUSExMLTOstructureRecontentupdates.1) XmlProvidesahierarchicalStructurefordata.2) Die Auslagerungdefinedefeed -Säuberlichkeitsumschläge

RSS & XML: Verständnis des dynamischen Duos von WebinhaltenRSS & XML: Verständnis des dynamischen Duos von WebinhaltenApr 19, 2025 am 12:03 AM

RSS und XML sind Tools für die Verwaltung von Webinhalten. RSS wird verwendet, um Inhalte zu veröffentlichen und zu abonnieren, und XML wird verwendet, um Daten zu speichern und zu übertragen. Sie arbeiten mit Content Publishing, Abonnements und Update Push. Beispiele für die Nutzung sind RSS Publishing -Blog -Beiträge und XML -Speicherbuchinformationen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software