ホームページ Java &#&チュートリアル struts2とspringMVCの違いは何ですか

struts2とspringMVCの違いは何ですか

Apr 17, 2020 am 09:43 AM
springmvc struts2

struts2とspringMVCの違いは何ですか

struts2 と springMVC の違いは何ですか?

1. フレームワークの仕組み

1. Struts2 は Filter (StrutsPrepareAndExecuteFilter) で実装され、SpringMVC (DispatcherServlet) は Servlet で実装されます。

2. フィルタはコンテナの起動後に初期化されますが、サーブレットよりも後、サービスの停止後にクラッシュします。サーブレットは、フィルターが呼び出される前に呼び出されたときに初期化され、サービスの停止後に破棄されます。

推奨: "java learning"

2. インターセプト メカニズム

1、Struts2

a、Struts2 フレームワークは次のとおりです。クラスレベルインターセプトの場合、リクエストごとにActionが作成されます Springと統合する場合、Struts2のActionBeanインジェクションスコープはプロトタイプモードのプロトタイプ(そうでないとスレッドの同時実行の問題が発生します)となり、リクエストデータはプロパティにインジェクションされますセッターとゲッター。

b. Struts2 では、Action はリクエストとレスポンスのコンテキストに相当し、パラメータを受け取る場合は属性を通じて受け取ることができ、属性パラメータが複数のメソッドで共有されることがわかります。

c. Struts2 の Action メソッドは URL に対応できますが、そのクラス属性はすべてのメソッドで共有されるため、アノテーションや他のメソッドを使用して独自のメソッドを識別することができなくなります

2. SpringMVC

#a. SpringMVC はメソッドレベルのインターセプトであり、1 つのメソッドがリクエスト コンテキストに対応するため、メソッドは基本的に独立しており、リクエスト データと応答データに排他的にアクセスできます。各メソッドは同時に URL に対応しており、メソッドに固有のパラメータの受け渡しが直接メソッドに挿入されます。処理結果はModeMapを通じてフレームワークに返されます。

b. Spring 統合中、SpringMVC のコントローラー Bean はデフォルトでシングルトン モードになるため、デフォルトでは、すべてのリクエストに対してコントローラーが 1 つだけ作成されます。共有属性は存在しないため、スレッドセーフです。デフォルトのスコープを変更したい場合は、@Scope アノテーションの変更を追加する必要があります。

3. パフォーマンス

SpringMVC はゼロ構成を実装しており、SpringMVC のメソッドベースのインターセプトにより、シングルトン モードの Bean インジェクションは 1 回ロードされます。 Struts2はクラスレベルのインターセプトであり、各リクエストがインスタンスの新規Actionに対応し、属性値インジェクションをすべて読み込む必要があるため、Struts2よりもSpringMVCの開発効率とパフォーマンスが高くなります。

4. インターセプト機構

Struts2 には独自のインターセプト Interceptor 機構があり、SpringMVC では独自の Aop メソッドを使用しているため、Struts2 の設定ファイルの量は SpringMVC に比べて大きくなります。

5. 構成

spring MVC と Spring はシームレスです。このプロジェクトの管理とセキュリティも Struts2 よりも高いです (もちろん Struts2 も異なるディレクトリ構造と関連する設定を通じて SpringMVC と同じ効果を実現できますが、xml 設定が必要な箇所が多くあります)。

SpringMVC は 100% ゼロ構成であると考えることができます。

6. 設計アイデア

Struts2 は OOP プログラミングのアイデアにより沿っていますが、SpringMVC はより慎重でサーブレットを拡張しています。

7. 統合

SpringMVC は Ajax を統合しており、非常に使いやすく、@ResponseBody アノテーション 1 つだけで実装でき、応答テキストを直接返し、Struts2 インターセプターと統合されています。 Ajax は、Action で処理する場合、通常、プラグインをインストールするか、独自のコードを作成して統合する必要があり、使用するのが比較的不便です。

以上がstruts2とspringMVCの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Struts2 の過去の脆弱性を保護の観点から見る方法 Struts2 の過去の脆弱性を保護の観点から見る方法 May 13, 2023 pm 05:49 PM

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

SpringBootとSpringMVCの比較と差異分析 SpringBootとSpringMVCの比較と差異分析 Dec 29, 2023 am 11:02 AM

SpringBoot と SpringMVC はどちらも Java 開発で一般的に使用されるフレームワークですが、それらの間には明らかな違いがいくつかあります。この記事では、これら 2 つのフレームワークの機能と使用法を調べ、その違いを比較します。まず、SpringBoot について学びましょう。 SpringBoot は、Spring フレームワークに基づいたアプリケーションの作成と展開を簡素化するために、Pivo​​tal チームによって開発されました。スタンドアロンの実行可能ファイルを構築するための高速かつ軽量な方法を提供します。

Struts2フレームワークの原理とは何ですか Struts2フレームワークの原理とは何ですか Jan 04, 2024 pm 01:55 PM

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

SpringBoot と SpringMVC の違いは何ですか? SpringBoot と SpringMVC の違いは何ですか? Dec 29, 2023 am 10:46 AM

SpringBoot と SpringMVC の違いは何ですか? SpringBoot と SpringMVC は、Web アプリケーションを構築するための 2 つの非常に人気のある Java 開発フレームワークです。これらは別々に使用されることが多いですが、両者の違いは明らかです。まず、SpringBoot は Spring フレームワークの拡張版または強化版とみなすことができます。 Spring アプリケーションの初期化と構成プロセスを簡素化し、開発者を支援するように設計されています。

Struts2 S2-059 リモート コード実行の脆弱性はどのように再現しますか? Struts2 S2-059 リモート コード実行の脆弱性はどのように再現しますか? May 23, 2023 pm 10:37 PM

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

Struts2の脆弱性S2-001の分析例 Struts2の脆弱性S2-001の分析例 May 15, 2023 pm 03:58 PM

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

Apache Struts2--048 リモート コード実行の脆弱性を再現する方法 Apache Struts2--048 リモート コード実行の脆弱性を再現する方法 May 12, 2023 pm 07:43 PM

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

spring と springmvc の違いは何ですか spring と springmvc の違いは何ですか Dec 29, 2023 pm 05:02 PM

spring と springmvc の違い: 1. 位置付けと機能、2. コア機能、3. アプリケーション領域、4. 拡張性。詳細な紹介: 1. 位置付けと機能 Spring は、依存関係の注入、アスペクト指向プログラミング、トランザクション管理などの機能を提供する包括的なアプリケーション開発フレームワークであり、エンタープライズ レベルのアプリケーションの開発を簡素化するように設計されており、Spring MVC はそのSpring フレームワーク。そのモジュールは Web アプリケーションの開発に使用され、MVC パターンを実装します。2. コア機能など。

See all articles