Struts2フレームワークの原理とは何ですか
Struts2 フレームワークの原理: 1. インターセプターはリクエスト パスを解析します; 2. アクションの完全なクラス名を検索します; 3. Action オブジェクトを作成します; 4. Action メソッドを実行します; 5. 戻り値結果; 6. 解析を表示します。その原理は、ビジネス ロジック コントローラーをサーブレット API から完全に分離するインターセプター メカニズムに基づいており、コードの再利用性と保守性が向上します。 Struts2 フレームワークは、リフレクション メカニズムを使用することで、リクエストと応答を処理するための Action オブジェクトを柔軟に作成および管理できます。
このチュートリアルのオペレーティング システム: Windows 10 システム、DELL G3 コンピューター。
Struts2 は、MVC パターンに基づく Web 層フレームワークであり、インターセプター メカニズムを使用してユーザー リクエストを処理します。 Struts2 フレームワークの原理は次のとおりです:
1. インターセプターはリクエスト パスを解析します: ユーザーが Web アプリケーションにリクエストを送信すると、Struts2 フレームワークのインターセプターはリクエスト パスを解析します。リクエストパスを取得し、アクションの名前を取得します。
2. アクションの完全なクラス名を検索します: アクションの名前に従って、Struts2 フレームワークは構成ファイル内の対応する完全なクラス名を見つけます。これらの構成情報は通常、struts.xml ファイルで定義されます。
3. Action オブジェクトの作成: Struts2 フレームワークは、Action の完全なクラス名を見つけると、リフレクション メカニズムを使用してクラスのインスタンス (つまり、Action オブジェクト) を作成します。このようにして、リクエストごとに新しい Action オブジェクトが作成されます。
4. Action メソッドを実行します: Action オブジェクトが作成されると、インターセプターはリクエストの処理を ActionProxy に渡します。 ActionProxyはActionオブジェクトのプロキシオブジェクトであり、Actionオブジェクトのexecute()メソッドを呼び出すことで対応するビジネスロジックを実行します。
5. 返される結果: アクションが実行されると、文字列の結果 (結果コード) が返されます。この結果文字列は通常、ユーザーに結果を表示するために使用されるビュー (View) に関連付けられます。
6. ビュー分析: Struts2 フレームワークは、返された結果文字列に従って対応するビューを解析し、結果をユーザーに表示します。ビューには、JSP ページ、FreeMarker テンプレートなどを使用できます。
Struts2 フレームワークの原理は、ビジネス ロジック コントローラーをサーブレット API から完全に分離するインターセプター メカニズムに基づいており、コードの再利用性と保守性が向上します。同時に、Struts2 フレームワークはリフレクション メカニズムを使用することで、Action オブジェクトを柔軟に作成および管理し、リクエストとレスポンスの処理を実装できます。
古典的な MVC フレームワークとして、Struts2 フレームワークには多くの利点と欠点があります。以下は、Struts2 フレームワークの長所と短所の詳細な紹介です:
Struts2 フレームワークの利点:
1. リッチ タグライブラリ: Struts2 によって提供されます。タグ ライブラリが多数あり、開発効率を大幅に向上させ、ビュー層のコードを簡素化できます。
2. インターセプター機構: Struts2 は、インターセプター機構を使用してリクエストの前処理および後処理機能を実装します。この機構により、ビジネス ロジック コントローラーがサーブレット API から完全に分離され、コードの可読性が向上します。メンテナンス性。
3. 型変換と入力検証: Struts2 は、ユーザー入力を簡単に検証して処理できる、組み込みの型変換と入力検証機能を提供します。
4. 国際化サポート: Struts2 は国際化をサポートしており、さまざまな言語環境に応じて切り替えることができるため、アプリケーションのローカリゼーション機能が向上します。
5. プラグインのサポート: Struts2 は、フレームワークの機能を簡単に拡張できる豊富なプラグイン サポートを提供します。
6. 構成と展開が簡単: Struts2 フレームワークは明確な構造とシンプルな構成を備えており、簡単に展開および保守できます。
Struts2 フレームワークの の欠点:
1. インターセプターの依存関係の順序: Struts2 のインターセプターの依存関係の順序は固定されているため、次のような問題が発生する可能性があります。場合によっては、インターセプターの実行順序が正しくない場合があります。
2. パフォーマンスの問題: Struts2 は多数のリフレクション メカニズムを使用するため、特に多数のリクエストを処理する場合にパフォーマンスの問題が発生する可能性があります。
3. 急な学習曲線: Struts2 フレームワークは強力ですが、学習曲線は比較的急勾配であり、初心者が慣れるまでに時間がかかる場合があります。
4. コミュニティ活動: Struts2 は古典的な MVC フレームワークですが、他の新しいフレームワークの出現により、Struts2 のコミュニティ活動は減少しています。
要約すると、Struts2 フレームワークは豊富な機能と強力な拡張性を備えていますが、いくつかの欠点もあります。実際の開発では、プロジェクトの要件とチームのテクノロジースタックに基づいて、適切なフレームワークを選択する必要があります。
以上がStruts2フレームワークの原理とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









1. はじめに Struts2 の脆弱性は古典的な一連の脆弱性であり、根本的な原因は、Struts2 がフレームワークを柔軟かつ動的にするために OGNL 式を導入していることです。フレームワーク全体のパッチ適用が改善されたことにより、Struts2 の新たな脆弱性の発見は以前よりもはるかに困難になりましたが、実際の状況から判断すると、ほとんどのユーザーが過去の高リスク脆弱性を既に修復済みです。現在、侵入テストを行う場合、Struts2 の脆弱性は主に偶然に任せられるか、イントラネットに公開された後でパッチが適用されていないシステムを攻撃する方がより効果的です。オンライン分析記事では、主にこれらの Struts2 の脆弱性を攻撃と悪用の観点から分析しています。新しい H3C の攻守チームとして、ips 製品のルールベースを維持することも仕事の一部であり、今日はこのシステムをレビューします。

Struts2 フレームワークの原理: 1. インターセプターはリクエスト パスを解析します; 2. アクションの完全なクラス名を検索します; 3. Action オブジェクトを作成します; 4. Action メソッドを実行します; 5. 結果を返します; 6. ビュー解析中。その原理は、ビジネス ロジック コントローラーをサーブレット API から完全に分離するインターセプター メカニズムに基づいており、コードの再利用性と保守性が向上します。 Struts2 フレームワークは、リフレクション メカニズムを使用することで、リクエストと応答を処理するための Action オブジェクトを柔軟に作成および管理できます。

Vulhub 脆弱性シリーズ: struts2 脆弱性 S2-0011 脆弱性の説明: struts2 脆弱性 S2-001 は、ユーザーがフォーム データを送信して検証が失敗した場合、サーバーは OGNL 式を使用して、ユーザーによって以前に送信されたパラメーター値 %{value} を解析します。対応するフォームデータを補充します。たとえば、登録ページやログインページなどです。送信が失敗した場合、サーバーは通常、デフォルトで以前に送信されたデータを返します。サーバーは %{value} を使用して送信されたデータに対して OGNL 式解析を実行するため、サーバーはペイロードを直接送信してコマンドを実行できます。 2. Vulhubの脆弱性悪用:vulhubを利用して脆弱性を再現すると、環境構築の手間が省け大変便利です。ヴ

0x00 はじめに Struts2 は、Apache ソフトウェア組織によって開発された非常に強力な JavaWeb オープン ソース フレームワークであり、本質的にはサーブレットと同等です。 Struts2 は MVC アーキテクチャに基づいており、明確なフレームワーク構造を持っています。通常、モデルとビュー間のデータ対話を確立するコントローラーとして使用され、エンタープライズ レベルの Java Web アプリケーションを作成するために使用されます。JavaServletAPI を利用および拡張し、開発者に MVC アーキテクチャの採用を奨励します。 Struts2 は、WebWork の優れた設計アイデアをコアとして採用し、Struts フレームワークのいくつかの利点を吸収し、MVC 設計パターンで実装されたより整った Web アプリケーション フレームワークを提供します。 0x01 脆弱性

はじめに 2018 年 8 月 22 日に、Apache Struts2 には、高リスクのリモート コード実行の脆弱性 (S2-057/CVE-2018-11776) が存在し、最新のセキュリティ情報が公開されました。この脆弱性は、米国のセキュリティ研究者 ManYueMo によって発見されました。 SemmleSecurityResearchチーム。この脆弱性は、Struts2 開発フレームワークで名前空間関数を使用して XML 構成を定義するときに、名前空間の値が設定されておらず、上位層のアクション構成 (ActionConfiguration) にも設定されていないか、またはワイルドカード名前空間が使用されているという事実に起因します。これにより、リモートでコードが実行される可能性があります。同じように、あなたも

0x00 はじめに Struts2 フレームワークは、JavaEE Web アプリケーションを開発するためのオープンソース Web アプリケーション アーキテクチャです。 JavaServletAPI を利用および拡張し、開発者が MVC アーキテクチャを採用することを奨励します。 Struts2 は、WebWork の優れた設計アイデアをコアとして採用し、Struts フレームワークの利点の一部を吸収し、MVC 設計パターンで実装されたより整った Web アプリケーション フレームワークを提供します。 0x01 脆弱性の概要 ApacheStruts22.3.x シリーズでは struts2-struts1-plugin プラグインが有効になっており、struts2-showcase ディレクトリが存在する場合に脆弱性が発生します。

1. 概要 Struts は、Apache Software Foundation (ASF) がスポンサーとなっているオープンソース プロジェクトです。これはジャカルタ プロジェクト内のサブプロジェクトとして始まり、後に ASF のトップレベル プロジェクトになりました。 JavaServlet/JSP技術を利用し、JavaEE WebアプリケーションのModel-View-Controller[MVC]設計パターンに基づいたアプリケーションフレームワーク[WebFramework]を実装した、MVCクラシック設計パターンの代表的な製品です。 JavaEE Web アプリケーション開発の初期には、サーブレット テクノロジの使用に加えて、JavaServerPages (JSP) のソース コードで HTM が一般的に使用されていました。

現在、Apache はこの脆弱性を修正するバージョンアップデートを正式にリリースしています。 Apache Struts の製品バージョンを適時に確認し、影響を受ける場合は適時にパッチを適用することをお勧めします。 1. 脆弱性の紹介 ApacheStruts2 は、American Apache Software Foundation の Jakarta プロジェクトのサブプロジェクトであり、MVC 設計に基づいた Web アプリケーション フレームワークです。 2018 年 8 月 22 日、Apache は Apache Struts2S2-057 セキュリティ脆弱性 (CNNVD-201808-740、CVE-2018-11776) を正式にリリースしました。 struts2開発フレームワークでpan-namespace機能を有効にする場合
